TFS 2013构建.NET 4.6 / C#6.0

时间:2015-09-18 18:51:57

标签: .net tfsbuild tfs2013 c#-6.0 .net-4.6

我们使用TFS 2013作为构建服务器。我已经开始了一个C#6.0项目,我正在努力建立它。我正在使用新的null条件运算符和我的构建chokes。我已经尝试在TFS服务器上安装了几个东西,包括目标包和VS 2015.我尝试将/tv:14.0提供给MSBuild参数。

  

Configuration \ EntityEntityConfig.cs(270):无效的表达式术语'。'   Configuration \ EntityEntityConfig.cs(283):无效的表达式术语'。'   Configuration \ EntityEntityConfig.cs(283):语法错误,':'预期
  ......等等。

此时,我不知道还有什么可以尝试。任何建议都将不胜感激。

6 个答案:

答案 0 :(得分:49)

使用TFS 2012的人使用以下方法报告了成功:

/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0

作为MSBuild的参数。也许这可能适合您,但到目前为止,这对我的TFS 2013构建代理不起作用。

<强>更新 我终于让它在TFS 2013上工作。这是我必须做的事情:

  1. 安装VS 2015或Microsoft Build Tools 2015(我同时拥有)。
  2. 编辑我的构建以使用名为 TfvcTemplate.12.xaml 的构建过程模板。我想任何比这个更新的模板都可以,但DefaultTemplate.11.1.xaml肯定不会工作!)
  3. 将MSBuild参数设置为 /tv:14.0 我没有必要使用上面提到的其他两个。

答案 1 :(得分:17)

似乎/tv:14.0命令参数不能按预期工作。看到: BuildActivity ignores ToolsVersion

作为一种变通方法,您需要自定义构建过程模板:

  1. 在Visual Studio中打开模板,找到运行MSBuild for Project MSBuild活动。
  2. 将ToolVersion设置为“14.0”。
  3. 将ToolPath设置为MSBuild14的目标(默认情况下:“C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin”)。
  4. 签入此构建过程模板并重新排队构建。

答案 2 :(得分:1)

如果您选择在构建计算机上安装VS 2015,那么重要的一步是:首先打开它,并确保它已获得许可。否则,您将继续遇到构建失败。

答案 3 :(得分:1)

如果运行DefaultTempalte.11.1.xaml,则找到msbuild活动(此模板中有2个,其标签为“为项目运行MSBuild”)并将ToolPath属性更改为msbuild工具集的路径(对我来说)这是“C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin”)。

没有其他必要。

答案 4 :(得分:0)

如果使用 UpgradeTemplate.xml ,则只需更改&#34;运行配置文件夹的TfsBuild&#34;:

1.将ToolPath设置为MSBuild14的目标(默认情况下:&#34; C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin&#34;)。

2.检查此构建过程模板并重新排队构建。

谢谢!

答案 5 :(得分:0)

构建过程确定您正在使用的构建工具版本。 vanilla构建定义使用“DefaultTemplate.11.1.xaml”构建过程模板,该模板配置为使用Build Tools 2013。

解决此问题的最快方法是简单地切换到“TfvcTemplate.12.xaml”

Select Template

如果要修改默认模板,则需要从$ / [Project] /BuildProcessTemplates/DefaultTemplate.11.1.xaml中检出,然后编辑Arguments以设置BuildProcessVersion

Edit Build Process Version