当我在代码中使用c#7功能时,TFS构建无法正确完成

时间:2018-09-17 15:40:45

标签: tfs msbuild tfsbuild

我已经在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:

enter image description here

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

enter image description here

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

enter image description here

我的业务代表能力不正确:

enter image description here

2 个答案:

答案 0 :(得分:0)

使用Visual Studio生成任务。它允许您指定用于运行内部版本的Visual Studio版本。

答案 1 :(得分:0)

似乎代理无法检测到这些功能。如果已在构建代理服务器上安装了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的路径:

    enter image description here