.net - MSBuild 15 NuGet 恢复和构建

标签 .net visual-studio msbuild nuget

我正在尝试让新的 MSBuild NuGet 恢复功能正常工作,但遇到了一个奇怪的问题。

如果我这样做:

msbuild.exe mySolution.sln /p:Configuration=Release

我收到有关缺少软件包的错误。这是预期的行为。 但是,如果我这样做:

msbuild.exe mySolution.sln /p:Configuration=Release /t:restore

MSBuild“成功”,但只是创建了一个 obj 文件夹,其中包含一些与 NuGet 恢复相关的文件,即没有 bin\Release\文件夹。

为了恢复构建,我必须发出上面的两个命令(显然首先要恢复)。

我已升级所有packages.config 文件以使用.csproj 文件中最新的PackageReference。

有没有办法使用单个命令来恢复和构建?

最佳答案

MSBuild 15.5 将引入 a /restore flag实现此功能。

在此之前,理论上可以在同一个调用 (/t:Restore;Build) 中运行恢复和构建,但它不安全,因为 MSBuild 可能会这样做缓存项目文件并且看不到 NuGet 还原所做的更改。 /restore 选项将在恢复正常构建之前清除所有受影响的缓存。

关于.net - MSBuild 15 NuGet 恢复和构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46773698/

相关文章:

.net - .Net 中的私有(private)程序集是什么?

sql-server - Visual Studio 2013 中的 SQL Server 项目

vb.net - vb.net中模棱两可的类成员

c# - TeamCity - 将工件依赖项的文件路径映射到系统属性

c# - C# 控制台应用程序的 App.config 文件的 Web.config 样式转换?

c# - 如何使用 OleDbConnection 从 Excel 文件检索数据

c# - TransactionScope 错误保存大量信息

c# - 如何记录 PC Lock、Shutdown、Restart Event 的时间(可能是日期时间)?

visual-studio - Visual Studio Code 远程开发使 AWS 实例崩溃

asp.net - 在 TFS/版本控制中存储 IIS 配置的最佳实践