【问题标题】:TFS build dosn't complete correctly when I use c# 7 feature in my code当我在代码中使用 c# 7 功能时,TFS 构建没有正确完成
【发布时间】:2019-02-21 14:15:17
【问题描述】:

我在 windows server 2012 R2 上安装了 TFS(版本 15.112.26307.0)。所有团队成员都使用 VS2017 进行编码。我创建了一个代理(我尝试过版本 vsts-agent-win7-x64-2.112.0、2.117.0、2.140.0)并将其 MSBuild 版本设置为 MSBuild15.0:

MSBuild15.0 已经安装在服务器上:

但是当我们在代码中使用 c# 7 功能(如“int out x”)时,通过 TFS 构建代码会引发如下错误(它使用 MSBuild14.0 构建我们的代码,为什么?)

我的代理能力不正确:

【问题讨论】:

    标签: tfs msbuild tfsbuild


    【解决方案1】:

    使用 Visual Studio 构建任务。它允许您指定用于运行构建的 Visual Studio 版本。

    【讨论】:

    • 如果您的意思是 Hosted VS2017 ,我不使用它,因为我不使用 azure 管道。我创建了自己的代理并设置 MSBuild15 来构建我的代码(第一张图片)
    【解决方案2】:

    似乎代理无法检测到这些功能。如果您已经在构建代理服务器上安装了 VS 2017,那么您可以尝试重新启动代理服务以检查是否可以正常工作。

    如果还是不行,你可以试试下面的方法:

    • 手动添加功能。

    它们的路径是(以企业版为例):

    VisualStudio_15.0     C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\
    
    VisualStudio_IDE_15.0  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
    
    MSBuild_15.0  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
    
    MSBuild_15.0_x64  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64\
    
    VSTest  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common\IDE\CommonExtensions\Microsoft\TestWindow
    
    • 指定 Msbuild 15.0 的路径:

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2015-10-14
      • 2021-11-15
      相关资源
      最近更新 更多