web-dev-qa-db-fra.com

Nuget Restore via le serveur de génération "incapable de trouver la version"

J'ai une solution VS et dans le cadre d'une TeamCity Build, nous restaurons les packages à partir d'un flux privé NuGet (myget) et du flux public (nuget.org). La plupart des paquets sont restaurés sans problème, mais ils s’appliquent à ceux ci-dessous pour WebApi et Mono.Security. Tout cela fonctionne localement 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\work\953bd084b49f7d88\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\work\953bd084b49f7d88
[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:  enter image description here

30
Chris Kooken

Essayez d’utiliser https://www.nuget.org/api/v2 au lieu de https://api.nuget.org/v3/index.json dans la documentation du nuget: https://docs.nuget.org/consume/Command-Line-Reference .

34
rarrarrarrr

La raison pour laquelle la construction a échoué est une ancienne version de nuget.exe. J'ai finalement résolu ce problème en téléchargeant la dernière version et en plaçant cet exécutable dans le dossier Program Files x86. Ensuite, j'ai créé une nouvelle variable système pour pointer sur cet exécutable. Après cela, j’ajoute un paquet NuGetInstaller dans ma définition de construction TFS pour me permettre de configurer TFS à l’aide de ce nouveau NuGet.exe. Ce lien m'a aidé à laisser TFS utiliser cette nouvelle version de NuGet

3
Marcel Beeker

J'ai rencontré ce problème avec l'un de nos esclaves de génération utilisant TFS et Visual Studio.

Comme je l'ai réglé, j'ai ouvert la solution qui n'était pas compilée dans Visual Studio, cliqué avec le bouton droit sur le SLN et sélectionné "Activer la restauration des packages NuGet".

Cela invite une boîte de dialogue que vous devez accepter. Une fois que vous avez fait cela, vous serez peut-être prêt à partir. Cliquez à nouveau avec le bouton droit de la souris sur le SLN et exécutez «Restore NuGet Packages» (Restaurer les paquets NuGet). Si l'opération réussit, vous êtes en or.

Vous pouvez probablement ajuster certains paramètres par programmation lors de la configuration de vos environnements d'esclaves, mais c'est un moyen direct de résoudre ce type de problème.

0
kayleeFrye_onDeck

J'ai suivi ceci: https://blogs.msdn.Microsoft.com/tfssetup/2017/04/18/tfs-2017-update-1-nuget-restore-task-always-fails-trying-toffind paquets-même-si-ils-existent-sur-le-flux/

J'avais essayé 3.3 et j'ai eu cette erreur:

Restauration du package NuGet Microsoft.AspNet.WebPages.3.2.3 . AVERTISSEMENT: Impossible de trouver la version '3.5.0.2' du package 'Antlr'.

J'ai téléchargé la dernière version de NuGet 4.3.0.4406 et défini le chemin d'accès personnalisé à NuGet, ce qui a également échoué. 

Étonnamment, lorsque je suis passé à la version 3.5, cela a fonctionné.

 enter image description here

Si vous êtes vraiment bloqué, exécutez la commande dans une invite de ligne de commande et cela fonctionnera:

C:\Program Files (x86)\NuGet\nuget.exe restore -NonInteractive E:\agentXYZPool\_work\1\s\xyz.sln
0
Jeremy Thompson