Restaurar Nuget a través del servidor de compilación " no se puede encontrar la versión"


Tengo una solución VS y como parte de una compilación de TeamCity, restauramos paquetes tanto de una fuente NuGet privada (myget) como de la fuente pública (nuget.org). La mayoría de los paquetes restauran bien, pero se cuelga en los de abajo para WebAPI y Mono.Seguridad. Todo esto funciona localmente en 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: introduzca la descripción de la imagen aquí

Author: Scott Weldon, 2015-09-02

4 answers

Intenta usar https://www.nuget.org/api/v2 en lugar de https://api.nuget.org/v3/index.json según los documentos de nuget: https://docs.nuget.org/consume/Command-Line-Reference .

 33
Author: rarrarrarrr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-02 18:51:30

La razón por la que la compilación falló, fue una versión antigua de nuget.exe. Finalmente resolví este problema descargando la última versión y puse este ejecutable en la carpeta Archivos de programa x86. Luego creé un nuevo sistema variabele para apuntar a este ejecutable. Después de eso agrego un paquete NuGetInstaller en mi Definición de compilación de TFS para permitirme configurar TFS usando este nuevo NuGet.exe. Este enlace me ayudó a dejar que TFS use esta nueva versión de NuGet

 2
Author: Marcel Beeker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-11 10:25:12

Seguí esto: 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/

Había intentado 3.3 y obtuve este error:

Restaurando el paquete NuGet de Microsoft.AspNet.pagina.3.2.3. ADVERTENCIA: No se puede encontrar la versión ' 3.5.0.2 'del paquete 'Antlr'.

He descargado la última NuGet 4.3.0.4406 y establecer la ruta personalizada a NuGet y que falló como bien.

Sorprendentemente cuando cambié a 3.5 funcionó.

introduzca la descripción de la imagen aquí

Si realmente está atascado, ejecute el comando en una línea de comandos y funcionará:

C:\Program Files (x86)\NuGet\nuget.exe restore -NonInteractive E:\agentXYZPool\_work\1\s\xyz.sln
 0
Author: Jeremy Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-21 03:40:56

Me encontré con este problema con uno de nuestros esclavos de compilación aprovechando TFS y Visual Studio.

La forma en que lo arreglé fue, abrí la solución que no estaba compilando en Visual Studio, hice clic con el botón derecho en el SLN y seleccioné "Habilitar Restaurar paquetes NuGet"

Que solicita un cuadro de diálogo que debe aceptar. Después de que hayas hecho eso, podrías estar listo para irte. Haga clic derecho en el SLN de nuevo y ejecute "Restaurar paquetes NuGet", y si esa operación tiene éxito, está Golden.

Probablemente haya alguna configuración que pueda ajustar programáticamente al configurar sus entornos esclavos, pero esa es una forma directa de solucionar este tipo de problema.

 0
Author: kayleeFrye_onDeck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-27 03:19:21