繁体   English   中英

Visual Studio自动还原DLL包

[英]Visual Studio auto restores dll packages

在我工作的公司中,每个解决方案中都有一个文件夹包 ,其中包含所有dll依赖项。 该文件夹不在解决方案的其余部分中。

每次我建一个项目,文件夹包装内的所有文件都恢复任何丢失的DLL再次出现。 无论构建是否成功,都将在构建开始时发生。 即使项目没有dll依赖项, 程序包中所有丢失的dll也会还原。

我怀疑这是msbuild中的设置,但找不到。 有谁知道它可能在哪里,或者是否存在msbuild * .targets文件的地方?

谢谢你的帮助

这是因为Visual Studio还原了packages.config文件中定义的packages.config

您可以在Visual Studio中的选项中控制此行为: VS NuGet选项

来自MS Docs关于Nuget的信息:

MSBuild:使用msbuild -t:restore命令,该命令将还原项目文件中列出的软件包(仅PackageReference)。 仅在Visual Studio 2017附带的NuGet 4.x +和MSBuild 15.1+中可用。nuget restore和dotnet restore都将此命令用于适用的项目。

进一步讲,有很多关于以各种方式启用/禁用和修改此行为的信息。

允许NuGet下载丢失的软件包:通过更改NuGet.Config文件中的packageRestore / enabled设置,控制所有形式的软件包还原,如下所示(在Windows上为%AppData%\\ NuGet \\ NuGet.Config,〜/ .nuget / NuGet / NuGet .Config在Mac / Linux上)。 在Visual Studio中,此设置允许解决方案的上下文菜单上的“还原NuGet软件包”命令起作用。

似乎更适合您的问题:

在Visual Studio中的构建过程中自动检查丢失的软件包:通过更改NuGet.Config文件中的packageRestore / automatic设置来控制自动还原,如下所示(在Windows上为%AppData%\\ NuGet \\ NuGet.Config,〜/ .nuget / NuGet / Mac / Linux上的NuGet.Config)。 设置此选项后,从Visual Studio运行内部版本会自动还原所有丢失的软件包。 该选项不会影响使用MSBuild从命令行运行的生成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM