C#6.0 TFS构建

时间:2015-02-02 22:09:28

标签: tfs azure-devops roslyn visual-studio-2015 c#-6.0

我在Visual Studio 2015 CTP中试用了C#6.0的新功能,而我的项目未能在TFS 2013和Visual Studio Online中构建。

我知道Visual Studio使用新的Roslyn编译器,它取代了原生的.NET编译器,因此TFS构建代理无法编译。

我的问题是如何在构建代理上(以及在Visual Studio Online中)安装Roslyn并告诉构建代理在本机上使用此编译器?

3 个答案:

答案 0 :(得分:12)

对于编译步骤,您有几个选项:

  1. 您可以基于每个项目引用Microsoft.Net.Compilers NuGet包,以使用该版本的编译器。
  2. 您可以安装属于VS 2015 CTP程序包的Microsoft Build Tools程序包,而无需安装所有VS.
  3. 然而,正如@MrHinsh所指出的,这些方法可能会让您遗漏工具链的其他部分。

答案 1 :(得分:3)

如果使用Server 2012 r2创建Azure VM并安装Visual Studio 2015 CTP和TFS 2013 Build,则可以将其连接到VSO。

然后,您应该能够完成构建,它将自动使用新的编译器。

虽然你可以安装编译器,但还需要构建更多内容而不仅仅是编译。您可能很快就需要Visual Studio的其他功能(如单元测试)作为构建的一部分执行。构建代理应该反映您的开发人员标准工作站。如果你的开发者需要它,那么代理人就需要它。

注意:Visual Studio许可给个人而不是机器。在构建代理上运行它不需要许可证。事实上,只要你有一个注册到你或特定级别的许可证,比如Ultimate,那么你可以在每个构建服务器上安装它。

答案 2 :(得分:0)

在BuildTemplate的Process部分的MSBuild参数中使用/tv:14.0 / p:GenerateBuildInfoConfigFile = false /p:VisualStudioVersion=14.0。