构建时如何禁用NuGet

时间:2019-04-23 14:49:21

标签: visual-studio nuget

我有一个客户必须在其站点上构建我们的软件,但是组策略阻止了nuget的运行。这会导致构建失败。所有软件包都已存在于项目中(存储在版本控制中),因此甚至无需运行NuGet。

是否可以阻止NuGet.exe运行?

1 个答案:

答案 0 :(得分:0)

NuGet.exe永远不会手动运行,因此,如果正在运行,则可以更改生成脚本以停止调用它。 Visual Studio 2010、2012和2013具有“在解决方案上启用NuGet包还原”的功能,该功能将下载NuGet.Targets文件和NuGet.exe,将其保存到.nuget目录中,并修改每个.NET项目文件导入nuget.targets文件。如果您的项目是这些时间的遗留物,则应删除这些更改,因为Visual Studio 2015、2017和2019对NuGet具有更好的集成支持。但是,在这种情况下,您将需要确保在CI上运行的所有构建脚本都进行单独的nuget还原,因为它不会作为MSBuild生成的一部分自动发生。

在Visual Studio 2015及更高版本中,在“工具”->“选项”,“ NuGet程序包管理器”->“常规”中,有一个选项“可以在Visual Studio中自动检查缺少的程序包”,您可以将其关闭。

NuGet Package Manager options in Visual Studio, with "Automatically Check for missing packages during build in Visual Studio" circled.

使用dotnet cli,您可以在可能隐式恢复的命令上使用--no-restore选项。