visual studio solucion restaurar proyecto para paquetes nupkg newtonsoft instalar encuentra como administrar administrador nuget .net-core visual-studio-2017

solucion - Cambiar las carpetas de paquetes de NuGet utilizadas por Visual Studio 2017



no se encuentra el proyecto ''default'' (2)

Ubicaciones de caché

Las carpetas de paquetes de soluciones locales ya no existen para .NET Core y Visual Studio 2017.

NuGet ahora está completamente integrado en MSBuild:

Las carpetas de paquetes de soluciones locales ya no se usan: los paquetes ahora se resuelven con la memoria caché del usuario en% userdata% .nuget, en lugar de una carpeta de paquetes específica de la solución. Esto hace que PackageReference se ejecute más rápido y consuma menos espacio en disco al usar una carpeta compartida de paquetes en su estación de trabajo.

NuGet 4.0+ utiliza al menos dos ubicaciones de paquetes globales:

  • Específico del usuario: %userprofile%/.nuget/packages/
  • En toda la máquina: %ProgramFiles(x86)%/Microsoft SDKs/NuGetPackages/"

Puede enumerar todas las carpetas específicas del usuario usando el siguiente comando de consola:

nuget locals all -list

Observe que la carpeta de toda la máquina no está en la lista. Sin embargo, se define en la configuración de Visual Studio:

Options -> NuGet Package Manager -> Package Sources

Archivos de configuración

NuGet.config archivos de NuGet.config se encuentran aquí :

  • Específico del usuario: %APPDATA%/NuGet/
  • En toda la máquina: %ProgramFiles(x86)%/NuGet/Config/

Es posible cambiar y anular la configuración de NuGet en muchos niveles:

  • proyecto
  • solución
  • usuario
  • máquina

¡Y aún más! Lea más sobre el NuGet.config prioridad jerárquico de NuGet.config aquí: Cómo se aplican las configuraciones .

Por ejemplo, el parámetro globalPackagesFolder cambia la ubicación de la caché de un paquete. Mira este ejemplo de NuGet.config :

<?xml version="1.0" encoding="utf-8"?> <configuration> <config> <clear /> <add key="globalPackagesFolder" value="c:/packages" /> </config> </configuration>

No hay más carpetas de soluciones de packages en ningún project.json .NET Core basado en csproj o project.json .

NuGet CLI obtiene la lista de carpetas de caché usadas:

nuget locals all -list

Respuesta:

http-cache: C:/Users/<foo>/AppData/Local/NuGet/v3-cache global-packages: C:/Users/<foo>/.nuget/packages/ temp: C:/Users/<foo>/AppData/Local/Temp/NuGetScratch

¿Cómo cambiar o anular estas ubicaciones?


De los documentos de MS :

paquetes globales

  • Windows:% userprofile% .nuget / packages
  • Mac / Linux: ~ / .nuget / packages

Reemplace usando la variable de entorno NUGET_PACKAGES , la configuración globalPackagesFolder o repositoryPath (cuando use PackageReference y packages.config, respectivamente), o la propiedad RestorePackagesPath MSBuild (solo MSBuild). La variable de entorno tiene prioridad sobre la configuración.