2017-10-16 104 views
0

我试图让新的MSBuild NuGet恢复功能工作,并有一个奇怪的问题。MSBuild 15 NuGet恢复并生成

如果我做的:

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

我得到一个错误失踪包。这是预期的行为。 但是,如果我这样做:

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

MSBuild的“成功”,但只是建立与涉及的NuGet一些文件还原,即没有斌\发布\文件夹中的文件夹OBJ。

为了恢复构建我必须发出上述两个命令(显然恢复第一)。

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

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

回答

3

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

在此之前,它在理论上是可能同时运行一个在同一个调用(/t:Restore;Build)重新建造,但它是不安全的的MSBuild可以缓存的项目文件,而不是看一个的NuGet做恢复的变化。 /restore选项将在恢复正常构建之前清除所有受影响的缓存。

+0

谢谢。 15.5有没有ETA? – Tom

+0

不知道,但一个VS 2017 15.5预览已经可用 –

+0

我们对我们的解决方案做了一个特定的nuget恢复,只是住它。 –