如何让 MSBuild 恢复任何需要的 NuGet 包

问题描述

我查看了大量关于此的文章包括 herehere。没有人提供我可以开始工作的解决方案。

我已开启所有功能,以便在 VisualStudio自动执行此操作。但是在我们的构建机器上,我们使用 MSBuild 构建 .sln 文件,而不是通过打开 VisualStudio。那么在 MSBuild 中我怎样才能最好地做到这一点?

我们所有的 .sln 文件都适用于 VisualStudio 2019,并设置为处理 NuGet 的认值(我相信)。

解决方法

msbuild -t:Restore 将为带有 PackageReference nuget management format 的项目恢复 nuget 包。

您的情况看起来像您使用过的 packages.config nuget management format

如果是这样,您应该只使用 nuget restore 来恢复带有 msbuild.exe 的 nuget 包。

1) 首先从网站下载 nuget.exe cli 并进行配置。您可以检查this about it

2) 然后使用 MSBuild 命令行,输入

nuget xxx\xxx.sln restore
msbuild xxx\xxx.sln -t:build

另一个是将 msbuild -t:restore 与 -p:RestorePackagesConfig=true 一起使用。

msbuild xxx\xxx.sln -t:restore,build -p:RestorePackagesConfig=true

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...