我正在尝试让新的 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/