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

如何指定Visual Studio版本的MSBuild以在.Net解决方案TFS 2013中执行架构验证,msbuild,Msbuild,我已经为使用VS 2015 Enterprise开发的.Net解决方案的生成定义了一个MSbuild项目。Tfs构建服务器是Tfs 2013,我已经在服务器上安装了VS 2015 Enterprise。我在生成定义的生成过程设置中指定了要使用的MSBuild版本,参数:/tv:14.0和/p:ValidateArchitecture=true的顺序如下: MSBuild参数:/p:ValidateArchitecture=true/tv:14.0 我在我的解决方案上有一个建模项目,我想在TFS构

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

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

我在我的解决方案上有一个建模项目,我想在TFS构建过程中在构建时对其进行验证。事实上,当验证过程开始时失败了,我看到VisualStudio版本用于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,如何将最后一个版本用于验证过程


提前感谢。

您似乎正在使用旧的构建模板,而不是TFS 2013的默认模板。您可以编辑生成过程模板,并将MSBuild活动的ToolPath属性设置为C:\Program Files x86\MSBuild\14.0\Bin。有关更多详细信息,请参阅此博客:

如果找不到ToolPath属性和MSBuild活动,但找到名为Run MSBuild的活动,请查找MSBuild活动和活动。然后设置“刀轨”属性

以下是一些可能对您有所帮助的其他方法:


GraphCmd任务是自定义生成活动吗?