MSBuild:导入的项目...找不到Sdk.props

ant*_*nio 5 c# msbuild

我为Visual Studio 2017安装了构建工具,并尝试使用以下内容构建DiscUtils解决方案:

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

我得到了所有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.
Run Code Online (Sandbox Code Playgroud)

Mar*_*ich 7

在撰写本文时,VS 2017 Build Tools缺少构建基于SDK("新世界")csproj文件所必需的关键组件(具体来说:缺少SDK和集成的NuGet).

有关跟踪和一些解决方法,请参阅此GitHub问题:https://github.com/Microsoft/msbuild/issues/1697


ant*_*nio 5

简而言之,MSBuild已被破坏,请参阅@Martin Ullrich.

建立用途:

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"
Run Code Online (Sandbox Code Playgroud)

如果您不使用Chocolatey,请手动下载.NET Core SDK

FrameworkPathOverride如果您没有Visual Studio,则是必需的.VS解决方案期望在以下位置找到参考组件

C:\Program Files\Reference Assemblies\Microsoft\Framework\v*
Run Code Online (Sandbox Code Playgroud)

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

请注意,如果解决方案为不同的目标框架生成不同的程序集,并且您需要它们,则需要安装相关的SDK.