c# nuget teamcity

c# - Nuget Restore a través del servidor de compilación "no se puede encontrar la versión"



teamcity (4)

Tengo una solución VS y, como parte de TeamCity Build, restauramos paquetes tanto de un feed privado de NuGet (myget) como del feed público (nuget.org). La mayoría de los paquetes se restauran bien, pero se cuelga en los siguientes para WebApi y Mono.Security. 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:



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 Program Files x86. Luego creé un nuevo sistema variabele para apuntar a este ejecutable. Después de eso agregué un paquete NuGetInstaller en mi definición de compilación 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


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 que abrí la solución que no estaba compilando en Visual Studio, hice clic derecho en el SLN y seleccioné "Habilitar restauración de paquetes NuGet"

Esto genera un cuadro de diálogo que debe aceptar. Después de que hayas hecho eso, es posible que estés listo. Haga clic derecho en el SLN nuevamente y ejecute "Restore NuGet Packages", y si esa operación tiene éxito, estará dorado.

Probablemente haya algún ajuste que pueda ajustar mediante programación al configurar sus entornos esclavos, pero esa es una forma directa de solucionar este tipo de problema.


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/

Intenté 3.3 y obtuve este error:

Restauración del paquete NuGet Microsoft.AspNet.WebPages.3.2.3. ADVERTENCIA: no se puede encontrar la versión ''3.5.0.2'' del paquete ''Antlr''.

Descargué el último NuGet 4.3.0.4406 y establecí la ruta personalizada a NuGet y también falló.

Sorprendentemente, cuando cambié a 3.5, funcionó.

Si realmente está atascado, ejecute el comando en un símbolo de línea de comando y funcionará:

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