dotnet msbuild
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
来自解决方案目录的
我不希望VS 2017必须安装在构建机器上,所以我安装了#34;构建Visual Studio 2017工具"来自https://www.visualstudio.com/downloads/。
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe
对sln中的每个项目进行轰炸,并出现错误:
错误MSB4019:导入的项目" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ Sdks \ Microsoft.NET.Sdk \ Sdk \ Sdk.props"没找到。确认声明中的路径是否正确,以及该文件是否存在于磁盘上。
事实上 - 它并不存在于磁盘上。它只存在于
的VS子文件夹中C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Sdks
我手动尝试安装.NET 4.6 SDK,.NET Core 1.0 SDK和.NET Core 1.0.1 SDK(x86和x64版本)。
有没有办法让MSBuild功能正常运行,还是像其他方式一样无可挽回地破坏?
答案 0 :(得分:1)
我现在找到的唯一方法是创建一个编译配置,我将目标锁定所有.NetCore和.net标准项目,另一个针对所有.Net项目(或者只使用发布配置)。
然后我使用MsBuild两次构建。
MSBuild.exe MySolution.sln / p:Configuration = DotNetCore
MSBuild.exe MySolution.sln / p:Configuration = Release
适用于VS2017解决方案。
答案 1 :(得分:1)
将sdks文件夹从dotnet核心安装复制到msbuild工具安装目录。
答案 2 :(得分:0)
Build Tools安装程序目前不支持.NET Core工作负载。目前,您必须在构建计算机上安装Visual Studio(或者,如您所知,安装.NET Core SDK并调用dotnet msbuild
而不是msbuild.exe
)。
在MSBuild的GitHub存储库中跟踪此问题:https://github.com/Microsoft/msbuild/issues/1697。