使用MSBuild无法构建的项目Ctrl + Shift + B构建成功

时间:2018-01-19 18:55:30

标签: c# tfs msbuild

如果我通过MSBuild控制台使用MSBuild进行构建后,有人知道我可以在哪里查看我的项目吗?

  

MSB4078:不支持项目文件“MyProject.csproj”   MSBuild并不能构建?

我的项目正在使用Target Framework .Net Core 2.0。我使用的MSBuild版本是14.0.25420.1

enter image description here

这是cs.proj

enter image description here

3 个答案:

答案 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

引用此相关主题:Support for .NET Core .csproj files

答案 2 :(得分:0)

我建议以更可靠的方式使用MSBuild。

  1. 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

  2. 使用PowerShell模块VSSetup查找MSBuild。从此处下载或安装:Github: Microsoft/Visual Studio Setup PowerShell Module

  3. 查找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