Nuget 在构建期间更新包,即使配置为不

Nuget updates packages during build even when configured to not

tools->options->Nuget Package Manager->General

我已经这样配置了 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.

但我没有选中该选项,为什么我会收到这些消息?

这是因为您的项目使用的是基于 MSBuild 并在每次构建时运行 NuGet.exe 且现已弃用的旧版 NuGet 包还原。这些消息来自 NuGet.exe.

为防止这种情况发生,您应该能够在每个项目文件中将 RestorePackages 设置为 false,但 NuGet 似乎出于某种原因喜欢将其设置回 true。

 <RestorePackages>false</RestorePackages>

另一种方法是不使用基于 MSBuild 的 NuGet 包还原并将其删除。然后,如果您在 Visual Studio 内构建并且使用的是最新版本的 NuGet 包管理器,NuGet 包将在构建之前由 Visual Studio 自动恢复。