Nuget Restaurer via le serveur de build “impossible de trouver la version”
J'ai une VS solution et dans le cadre d'un TeamCity, il est de restaurer les packages à partir d'un NuGet privé d'alimentation (myget) et le public de l'alimentation (de nuget.org). La plupart des paquets de restauration très bien, mais il se bloque sur celles ci-dessous pour WebApi et Mono.De sécurité. C'est tout le travail local dans Visual Studio.
[restore] NuGet command: C:\TeamCity\buildAgent\plugins\nuget-agent\bin\JetBrains.TeamCity.NuGetRunner.exe C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe restore C:\TeamCity\buildAgent\work3bd084b49f7d88\DataFinch.Web.sln -Source https://www.myget.org/F/datafinch/auth/<hidden>/api/v2 -Source https://api.nuget.org/v3/index.json
[11:41:35][restore] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script473789219385667038.cmd
[11:41:35][restore] in directory: C:\TeamCity\buildAgent\work3bd084b49f7d88
[11:41:35][restore] JetBrains TeamCity NuGet Runner 8.0.37059.9
[11:41:35][restore] Registered additional extensions from paths: C:\TeamCity\buildAgent\plugins\nuget-agent\bin\plugins-2.8
[11:41:35][restore] Starting NuGet.exe 2.8.50926.602 from C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe
[11:41:43][restore] Unable to find version '5.2.3' of package 'Microsoft.AspNet.WebApi.Client'.
[11:41:43][restore] Unable to find version '5.2.3' of package 'Microsoft.AspNet.WebApi.Core'.
[11:41:43][restore] Unable to find version '3.2.3.0' of package 'Mono.Security'.
[11:41:43][restore] Unable to find version '6.0.4' of package 'Newtonsoft.Json'.
[11:41:43][restore] Process exited with code 1
Teamcity config:
- avez-vous d'ajouter la source privée à l'Nuget.les cibles? docs.nuget.org/consume/package-restore
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
https://www.nuget.org/api/v2
au lieu dehttps://api.nuget.org/v3/index.json
par la nuget docs: https://docs.nuget.org/consume/Command-Line-Reference.NuGet.exe
. Pour corriger cela, ouvrez une invite de commande,cd
à votre.nuget
dossier et exécutez.\NuGet.exe update -self
.NuGet Version: 2.8.1.0
), et de passer à la v2 de l'API, il fixe pour moi.La raison pour laquelle la construction échoué, était une ancienne version de nuget.exe. J'ai enfin résolu ce problème en téléchargeant la dernière version et placer ce fichier exécutable dans le dossier Program Files x86 dossier. Ensuite, j'ai créé un nouveau système variabele pour pointer vers ce fichier exécutable. Après cela, j'ai ajouter un NuGetInstaller paquet dans mon Build TFS Définition de me laisser configurer TFS à l'aide de cette nouvelle NuGet.exe.
Ce lien m'a aidé à laisser TFS utiliser cette nouvelle version NuGet
J'ai suivi ceci: https://blogs.msdn.microsoft.com/tfssetup/2017/04/18/tfs-2017-update-1-nuget-restore-task-always-fails-trying-to-find-packages-even-though-they-exist-on-the-feed/
J'avais essayé 3.3, et a obtenu ce message d'erreur:
J'ai téléchargé la dernière NuGet 4.3.0.4406 et de définir le chemin d'accès Personnalisé à NuGet et de l'échec.
Surprise lorsque je suis passé à 3.5, il a travaillé.
Si vous êtes vraiment coincé, exécutez la commande dans une Invite de Ligne de Commande et ça marche:
J'ai rencontré ce problème avec un de nos esclaves tirant parti de la TSF et de Visual Studio.
La façon dont je le fixe, il a été, je l'ai ouvert, la solution n'était pas de la compilation dans Visual Studio, cliqué droit sur la SLN et sélectionné l'option "Activer la Restauration de Packages NuGet"
Qui invite à une boîte de dialogue que vous devez accepter. Après vous avez fait cela, vous pourriez être bon d'aller. Cliquez-droit sur la SLN à nouveau et exécutez la commande "Restaurer les Packages NuGet", et si cette opération réussit, vous êtes d'or.
Il y a probablement un peu de réglage, vous pouvez régler par programmation lors de la configuration de votre esclave environnements, mais c'est un moyen direct pour résoudre ce genre de problème.
Selon CETTE document courant de cette écriture à partir de MS, la bonne url est: https://api.nuget.org/v3/index.json
Je suis donc allé sur le point de résoudre le problème, parce que je suppose qu'il n'avait rien à voir avec l'URL. J'ai fait 2 choses, vous ne savez pas qui il était qui a résolu le problème, mais je vais poster ici au cas où il permet à quelqu'un.
Dans TFS2018 et au sein de mon étape de génération pour l'installation de Nuget, j'ai spécifié version 4.9.3 (la raison pour laquelle j'ai choisi 4.9.3 parce que j'ai remarqué en regardant le journal détaillé de VS que lors de mon build c'est à l'aide de cette version), et a choisi de toujours télécharger la dernière version.
Deuxième chose que j'ai fait était, j'ai enlevé un Nuget.Fichier de Config de mon projet qui a été laissé au cours de quelque chose que j'ai été le tester. Alors je re-engage mes changements de TFS
Après j'ai fait les deux étapes ci-dessus le reste de mon build commencé à travailler.