2017-10-16 105 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恢復,只是住它。 –