如果我通过MSBuild控制台使用MSBuild进行构建后,有人知道我可以在哪里查看我的项目吗?
MSB4078:不支持项目文件“MyProject.csproj” MSBuild并不能构建?
我的项目正在使用Target Framework .Net Core 2.0。我使用的MSBuild版本是14.0.25420.1
这是cs.proj
答案 0 :(得分:9)
您使用的是新的csproj文件格式(请参阅Project sdk=...
)
您需要使用MSBuild 15才能构建它。您有两种选择:
1)下载Build Tools for Visual Studio 2017并安装。然后路径将是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
2)如果你安装了VS,路径将是:
C:\Program Files (x86)\Microsoft Visual Studio\2017\<VS Version>\MSBuild\15.0\Bin
使用MSBuild 15应修复错误。
答案 1 :(得分:5)
请检查您正在运行的MSBuild版本。我使用15.0版进行了测试,运行时没有任何错误。
通常,请确保您已为团队项目配置了构建代理,并且您在代理计算机上安装了 Visual Studio 2017 并且安装了最新的Visual Studio更新即可。
还要确保为构建选择了MSbuild 15.0版。
有关详细信息,请参阅Build your ASP.NET Core app。
答案 2 :(得分:0)
我建议以更可靠的方式使用MSBuild。
从Build Tools for Visual Studio 2017下载Visual Studio Downloads page,其中包含最新的MSBuild 15. *(direct link)。
此处记录的命令行参数:Use command-line parameters to install Visual Studio 2017。
此处列出了所有工作负载和组件:Visual Studio Build Tools 2017 component directory。
使用PowerShell模块VSSetup
查找MSBuild。从此处下载或安装:Github: Microsoft/Visual Studio Setup PowerShell Module
查找MS Build
Import-Module $PSScriptRoot\VSSetup\VSSetup.psd1
$msBuildPath = (Get-VSSetupInstance | Select-VSSetupInstance -Version 15.0 -Product Microsoft.VisualStudio.Product.BuildTools).InstallationPath
if ([System.IntPtr]::Size -eq 8)
{
$global:msbuildPath = Join-Path $msBuildPath 'MSBuild\15.0\Bin\amd64'
}
else
{
$global:msbuildPath = Join-Path $msBuildPath 'MSBuild\15.0\Bin'
}
Write-Output "Using MSBuild from $global:msbuildPath"
Write-Output "MSBuild /version"
$msbuild = Join-Path $global:msbuildPath msbuild
& $msbuild /version