如何在.Net Solution TFS 2013中指定Visual Studio版本的MSBuild以执行架构验证

时间:2017-04-04 10:20:17

标签: msbuild tfs2013

我已经定义了一个MSbuild项目,用于构建使用VS 2015 Enterprise开发的.Net解决方案。 Tfs Build Server是TFS 2013,我在服务器上安装了VS 2015 Enterprise。我在Build定义上的Build过程设置中指定了MSBuild版本参数:/tv:14.0和/ p:ValidateArchitecture = true,顺序如下:

MSBuild参数:/ p:ValidateArchitecture = true /tv:14.0

我在我的解决方案上有一个建模项目,我希望在TFS构建过程中的构建时间进行验证。事实是,当验证过程开始失败时,我看到Visual Studio版本用于v11.0而不是v14.0。如何强制TFS在构建过程中使用v14.0进行验证建模项目:

在这里,您可以看到该过程的构建日志:

ValidateArchitecture_GenerateDgmlForLayers:
Processing      
E:\...Project Source\XXXPPP\Arch.layerdiagram...
-query obj\Release\Arch.layerdiagram.dgql -output     
obj\Release\Arch.layerdiagram.dgml -format SimplifiedDgml -uiculture     
en-US -exceptions 
C:\Program Files   
(x86)\MSBuild\Microsoft\VisualStudio\ **v11.0** \ArchitectureTools\
Microsoft.VisualStudio.TeamArchitect.LayerDesigner.targets(148,5): error  
MSB4018: The "GraphCmd" task failed unexpectedly.   
[Drive:\Comp\3\Project Source\XXXPPP\Arch.modelproj]

如您所见,验证过程使用 v11.0 版本,我在MSBuild TFS路径中有 v14.0 ,如何使用此最新版本用于验证过程??。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您似乎使用旧的构建模板而不是TFS 2013的默认模板。您可以编辑构建过程模板并将MSBuild活动的 ToolPath 属性设置为“C:\ Program”文件(x86)\ MSBuild \ 14.0 \ Bin“。有关详细信息,请参阅此博客:Update MSBuild Toolpath in TFS build process template

如果找不到ToolPath属性和MSBuild活动,而是找到名为“Run MSBuild”的活动,请找到MSBuild活动和replace the "RunMSBuild活动。然后设置Toolpath属性。

以下是其他可能对您有所帮助:TFSBuild 2013 unable to change msbuild version

Update Build Controller/Agents to build C# 6 /.NET 4.6 application