visual-studio - servicio - restaurar paquetes nuget visual studio 2017
"No se puede encontrar la versión" durante TFS Build 2015 al restaurar paquetes de NuGet (3)
En mi caso el Nuget.Config
, estaba en:
C:/Windows/ServiceProfiles/NetworkService/AppData/Roaming/NuGet
Así que busque Nuget.Config
en su C:/
.
El usuario depende de la cuenta que haya configurado el Agent
Estoy teniendo problemas con la restauración del paquete NuGet durante una compilación TFS 2015.
Dado que algunos paquetes requieren el cliente NuGet 3.x, he configurado la nueva compilación de secuencias de comandos para usar una ubicación personalizada de NuGet donde he colocado el ejecutable de NuGet Command-Line 3.x beta .
Cada vez que ejecuto una compilación, no se pueden restaurar todos los paquetes y NuGet lanza el error "No se puede encontrar la versión ..." :
Unable to find version ''1.1.10'' of package ''Microsoft.Bcl''.
Unable to find version ''4.0.10'' of package ''System.Threading''.
Unable to find version ''1.1.37'' of package ''System.Collections.Immutable''.
Unable to find version ''1.0.0'' of package ''Owin''.
Unable to find version ''4.1.0'' of package ''NLog''.
Unable to find version ''7.0.1'' of package ''Newtonsoft.Json''.
Unable to find version ''2.0.1'' of package ''MongoDB.Driver.Core''.
Unable to find version ''2.0.1'' of package ''MongoDB.Driver''.
Unable to find version ''2.0.1'' of package ''MongoDB.Bson''.
Unable to find version ''3.0.1'' of package ''Microsoft.Owin.Security.OAuth''.
... y aún más paquetes. Creo que el tema es claro.
Cuando compilo la misma solución en la máquina de compilación con Visual Studio, todos los paquetes se restauran con éxito.
¿Cómo puedo solucionar esto?
En mi caso, el problema fue que NuGet.config
todo el NuGet.config
ubicado en C:/Users/[User name]/AppData/Roaming/NuGet/NuGet.config
(donde [User name]
es el usuario que está ejecutando las ventanas del agente de compilación service) estaba apuntando a NuGet API v2 mientras que mi compilación ya está usando NuGet Command-Line 3.x.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<!-- CHANGING V2 TO V3 IN THE URI VALUE SOLVED THE ISSUE! -->
<add key="nuget.org" value="https://www.nuget.org/api/v3/" />
</packageSources>
</configuration>
Si, por algún motivo, la actualización del NuGet.config
en la carpeta de Roaming no es una opción o no es deseada, también es posible agregar el archivo de configuración a la raíz de la solución.
Según los documentos:
- Archivos NuGet.Config específicos del proyecto ubicados en cualquier carpeta desde la carpeta de la solución hasta la raíz de la unidad. Estos permiten el control sobre la configuración, ya que se aplican a un proyecto o grupo de proyectos.
- Un archivo NuGet.Config específico de la solución ubicado dentro de una carpeta .nuget en la solución. La configuración de este archivo se aplica solo a los paquetes de toda la solución y solo se admite en NuGet 3.3 y versiones anteriores. Se ignora para NuGet 3.4 y versiones posteriores.