índice visual studio servicio restaurar referencia que puede proyecto paquetes origen org los index hace faltan este equipo elemento declarado cargar visual-studio tfs nuget visual-studio-2015 tfs2015

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.

Configura las ubicaciones y usos de los archivos.