2017-05-03 47 views
5

我安裝了構建於Visual Studio 2017年工具,並試圖建立DiscUtils solution有:的MSBuild:引進項目...... Sdk.props未發現

& "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" DiscUtils.sln 

我得到所有51個C#項目:

error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. 
+0

呃,等等,你從哪裏得到這個?在RC版本中有一個「用於VS2017的構建工具」,但它僅用於C++構建,並且他們決定不將它包含在RTM版本中。 Google也很難受。所以總的來說,失敗是預期的結果。 –

+0

@HansPassant:我用: https://www.visualstudio.com/downloads/ - >其他工具和框架 - >構建工具爲Visual Studio 2017年 我選擇了單獨的組件 - > C#和Visual Basic編譯器羅絲琳。 也許這些不是合適的編譯器,是嗎? – antonio

+0

看起來合法。可能不會,請注意它是如何面向C++的。但奇怪的是它提供了Roslyn。幫助>發送反饋>報告問題是您最好的選擇。 –

回答

4

在短的MSBuild壞了,看到@馬丁烏爾裏希。

要建立使用:

choco install dotnetcore-sdk 
& "C:\Program Files\dotnet\dotnet.exe" restore DiscUtils.sln 
& "C:\Program Files\dotnet\dotnet.exe" msbuild DiscUtils.sln -p:FrameworkPathOverride="c:\Windows\Microsoft.NET\Framework64\v4.0.30319" 

如果你不使用的巧克力,手動下載.NET Core SDK

FrameworkPathOverride是必要的,如果你沒有的Visual Studio做。 VS解決方案,希望能夠找到在參考組件:

C:\Program Files\Reference Assemblies\Microsoft\Framework\v* 

沒有VS,你可以求助於那些c:\Windows\Microsoft.NET\Framework64\v4.0.30319

需要注意的是,如果解決方案,爲不同的目標框架產生不同的裝配和你需要的時候,你需要安裝相關的SDK。

6

在撰寫本文時,VS 2017構建工具缺少構建基於SDK(「新世界」)csproj文件(具體而言:缺少SDK和集成NuGet)所必需的關鍵組件。

參見跟蹤這個問題的GitHub和一些解決方法:https://github.com/Microsoft/msbuild/issues/1697