我已经定义了一个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 ,如何使用此最新版本用于验证过程??。
提前致谢。
答案 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