2

ВNuGet обновляет пакеты во время сборки, даже если настроен не

Tools-> Options-> NuGet Пакет Manager-> Общие

Я настроил NuGet так:

[ ] Allow NuGet to download missing packages 
    [ ] Automatically check for missing packages during build in Visual Studio 

Когда я создаю свой проект, я получаю такие сообщения:

33> Restoring NuGet packages... 
33> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'. 
33> All packages listed in packages.config are already installed. 

Но я не снял этот параметр, так почему я получаю эти сообщения?

ответ

3

Это связано с тем, что в вашем проекте используется устаревшее устаревшее восстановление пакета NuGet, которое основано на MSBuild, и запускает NuGet.exe для каждой сборки. Эти сообщения получены от NuGet.exe.

Чтобы предотвратить это, вы должны установить RestorePackages в false в каждом файле проекта, но NuGet, похоже, почему-то не возвращает значение true в true.

<RestorePackages>false</RestorePackages> 

Другой способ - не использовать восстановление пакета NuGet на основе MSBuild и удалить его. Затем, если вы построите в Visual Studio и используете последнюю версию диспетчера пакетов NuGet, пакеты NuGet будут автоматически восстановлены Visual Studio непосредственно перед сборкой.

+0

Как бы вы не использовали подход MsBuild base NuGet? – SteveC

+1

В документации по nuget.org содержится информация о миграции - https://docs.microsoft.com/en-gb/nuget/consume-packages/package-restore#migrating-to-automatic-restore –