Ответ 1
Местоположение кэша
Пакеты решений для локальных пакетов больше не существуют для .NET Core и Visual Studio 2017.
NuGet теперь полностью интегрирован в MSBuild:
Пакеты решений - локальные пакеты больше не используются - теперь пакеты разрешено против кеша пользователей в% userdata%.nuget, а не в пакет конкретных решений. Это делает PackageReference быстрее и потребляйте меньше места на диске, используя общую папку пакетов на вашей рабочей станции.
NuGet 4.0+ использует как минимум два глобальных расположения пакетов:
- Пользовательский:
%userprofile%\.nuget\packages\
- Общесистемный:
%ProgramFiles(x86)%\Microsoft SDKs\NuGetPackages\"
Вы можете перечислить все пользовательские папки, используя следующую консольную команду:
nuget locals all -list
Обратите внимание на то, что папка в машинном каталоге отсутствует в списке. Однако он определен в настройках Visual Studio:
Options -> NuGet Package Manager -> Package Sources
Файлы конфигурации
NuGet.config
файлы находятся здесь:
- Пользовательский:
%APPDATA%\NuGet\
- Общесистемный:
%ProgramFiles(x86)%\NuGet\Config\
Можно изменить и переопределить настройки NuGet на разных уровнях:
- Проект
- решение
- Пользователь
- машина
И даже больше! Подробнее о NuGet.config
иерархическом порядке приоритетов здесь: Как применяются настройки.
Например, параметр globalPackagesFolder
изменяет местоположение кэша пакета. Посмотрите на пример NuGet.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<clear />
<add key="globalPackagesFolder" value="c:\packages" />
</config>
</configuration>