TFS 2013build立.NET 4.6 / C#6.0

我们使用TFS 2013作为我们的构build服务器。 我已经开始了一个C#6.0项目,我正在试图build立它。 我正在使用新的空条件运算符和我的构build扼stream圈。 我已经尝试在TFS服务器上安装几个东西,包括定位包和VS 2015.我已经尝试向MSBuild参数提供/tv:14.0。

Configuration \ EntityEntityConfig.cs(270):无效的expression式“。”
Configuration \ EntityEntityConfig.cs(283):无效的expression式“。”
Configuration \ EntityEntityConfig.cs(283):语法错误,':'预计
…等

在这一点上,我不知道还有什么可以尝试的。 任何build议将不胜感激。

使用TFS 2012的用户使用以下方式报告了成功:

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

作为MSBuild的参数。 也许这可能适用于你,但到目前为止,这不适用于我的TFS 2013构build代理。

更新:我终于得到这个工作在TFS 2013年。这是我必须做的:

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

看来/tv:14.0命令参数不能按预期工作。 请参阅: BuildActivity忽略ToolsVersion

作为一种解决方法,您需要自定义构build过程模板:

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

如果您select在构build机器上安装VS 2015,则有一个重要的步骤:首先打开它,并确保它是许可的。 否则,您将继续遇到构build失败。

如果你运行DefaultTempalte.11.1.xaml然后findmsbuild活动(在这个模板中有2个,它们的标签是“Run MSBuild for Project”),并将ToolPath属性更改为msbuild工具集的path(对于我来说这是“ C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin“)。

没有别的是必要的。

如果使用UpgradeTemplate.xml,则只需更改“运行TfsBuild for Configuration文件夹”:

1.将ToolPath设置为MSBuild14(默认情况下为“C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin”)。

2.检查此构build过程模板并重新构build构build队列。

谢谢!

构build过程确定您正在使用的构build工具版本。 vanilla构build定义使用“DefaultTemplate.11.1.xaml”构build过程模板,该模板被configuration为使用构build工具2013。

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

选择模板

如果你想修改默认的模板,你需要从$ / [Project] /BuildProcessTemplates/DefaultTemplate.11.1.xaml中检查出来,然后编辑参数来设置BuildProcessVersion

编辑构建过程版本