使用TFS 2012构建服务器构建VS2017项目

时间:2017-09-15 17:37:19

标签: c# .net tfs build

我们有一个内部部署的TFS 2012服务器和构建服务器。我们正在升级到VS和TFS 2017.目前,有人要求设置另一个构建服务器,以便我们从现有的TFS服务器构建新的2017项目。我创建了一个新的构建服务器并在其上安装了TFS 2012构建服务以及VS2017。我创建了一个新的构建定义,但它无法编译,并且错误显示了2017年的语法更改,这些更改在2012年无效。如何根据已安装的VS2017配置此项目来构建项目?

2 个答案:

答案 0 :(得分:8)

感谢这篇文章,我能够使用TFS 2012与使用Visual Studio 2017构建C#6语法的构建服务器持续集成。希望这将为下一个人节省一些时间来试图解决这个问题。

以下是为了让TFS 2012构建c#6语法而更改的列表。在具有构建代理的计算机上,安装vs 2017 enterprise,在安装设置页面上,确保选择了MS build enter image description here

编辑构建定义并确保MSBuild参数为/tv:15.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=15.0

enter image description here

检查构建定义正在使用的模板,并通过转到源代码管理资源管理器并进入团队项目并进行BuildProcessTemplate修改它,它应该有.xaml文件,双击它来修改它{{3} }

应该有2个操作说“运行MSBuild for Project”。您需要将其toolpath属性更改为指向构建服务器上的msbuild.exe父文件夹。在我的情况下,构建服务器是32位机器,因此Bin文件夹的路径没有(x86)在Program Files旁边,您需要检查构建服务器以在此处输入正确的路径。 enter image description here 完成更改后,您需要保存xaml并将其签入。

答案 1 :(得分:1)

旧的Visual Studio版本将msbuild安装到C:\Program Files (x86)\MSBuild\<version>\bin中,显然RunMSBuild活动使用ToolVersion + ToolArchitecture来计算此路径。

VS 2017安装它C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ bin并且RunMSBuild无法再计算正确的路径。您不能使用旧的DefaultTemplate11.1xaml与VS2017集成。

要使其工作,您可以尝试修改TFSBuildServiceHost.exe.config,并且必须在构建服务器上安装VS 2013或VS 2015的版本才能使其正常工作。更多细节步骤请在此链接中关注 Jonesy2488的答案:How to get VS 2017 working with TFS 2017 XAML Builds

此外,XAML Build在TFS 2017中已弃用,并且不会在TFS下一版本的TFS(2018)中提供。 VSTS已经不再支持它们了。

  

我正在寻找托管的XAML构建控制器。它去了哪里?

     

不再支持托管的XAML构建控制器。帐号   在2016年4月或之后创建的,无法访问它。我们计划   从所有帐户中删除托管的XAML构建控制器,可能是   即将于2017年3月。

     

Source

因为您要升级并使用TFS2017。强烈建议您将构建转换为vNext Build以访问一些新技术和支持。有关详情,请参阅Why Should I Leave XAML Builds?