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

And*_*dén 2 visual-studio nuget visual-studio-2013 nuget-package-restore

工具->选项->Nuget 包管理器->常规

我已经像这样配置了nuget:

[ ] Allow NuGet to download missing packages
  [ ] Automatically check for missing packages during build in Visual Studio
Run Code Online (Sandbox Code Playgroud)

当我构建我的项目时,我收到如下消息:

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.
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*ard 5

这是因为您的项目正在使用旧的现已弃用的 NuGet 包还原,它基于 MSBuild 并在每个生成上运行 NuGet.exe。这些消息来自 NuGet.exe。

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

 <RestorePackages>false</RestorePackages>
Run Code Online (Sandbox Code Playgroud)

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