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.