visual that studio restaurar referencia references que proyecto paquetes missing los hace faltan este equipo computer are all actualizar .net msbuild teamcity nuget

.net - that - NuGet Package Restore no puede encontrar el paquete, no tiene Source



restore nuget packages visual studio 2017 console (2)

A partir de hoy, NuGet.targets tiene la siguiente forma de especificar feed (s) personalizado (s):

<ItemGroup Condition=" ''$(PackageSources)'' == '''' "> <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%/NuGet/NuGet.Config will be used --> <!-- The official NuGet package source (https://nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list --> <PackageSource Include="https://nuget.org/api/v2/" /> <PackageSource Include="//MyShare" /> <PackageSource Include="http://MyServer/" /> </ItemGroup>

Otra opción es colocar NuGet.config junto al archivo de solución:

<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://www.nuget.org/api/v2/" /> <add key="MyShare" value="//MyShare" /> <add key="MyServer" value="http://MyServer" /> </packageSources> <activePackageSource> <add key="All" value="(Aggregate source)" /> </activePackageSource> </configuration>

Tengo un paquete en mi feed TeamCity NuGet, construido por TeamCity, pero un proyecto TC dependiente no puede verlo durante la restauración del paquete.

[14:05:02] [Exec] E: / TeamCity-BuildAgent / work / 62023563850993a7 / Web.nuget / nuget.targets (88, 9): no se puede encontrar la versión ''1.0.17.0'' del paquete ''MarkLogicManager40''.

[14:05:02] [Exec] E: / TeamCity-BuildAgent / work / 62023563850993a7 / Web.nuget / nuget.targets (88, 9): error MSB3073: El comando "" E: / TeamCity-BuildAgent / work / 62023563850993a7 / Web.nuget / nuget.exe "instalar" E: / TeamCity-BuildAgent / work / 62023563850993a7 / ProductMvc / packages.config "-source" "-RequireConsent -solutionDir" E: / TeamCity-BuildAgent / work / 62023563850993a7 / Web / "" salido con el código 1.

Tenga en cuenta que el parámetro source en la línea de comando NuGet está vacío. Podria ser esta la causa?


Aparentemente, los feeds personalizados NuGet se configuran no a través de nada en los archivos de solución o proyecto, ni en nuget.config en la solución, sino en nuget.config en el perfil del desarrollador.

Más allá de TeamCity, el agente no comprueba este archivo de configuración ni lo escribe para garantizar que contenga el feed para el servidor de TeamCity.

Por lo tanto, restaurar el paquete en TC utilizando un feed TC personalizado no ''solo funcionará''. Debe perder cientos de libras de dinero del cliente persiguiendo su cola para descubrir todo esto y luego establecer / copiar su nuget.config de su perfil en el perfil de la cuenta de usuario que ejecuta el agente de creación.

Horrible.