Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用TFS2013构建VS2015_Tfs_Msbuild - Fatal编程技术网

使用TFS2013构建VS2015

使用TFS2013构建VS2015,tfs,msbuild,Tfs,Msbuild,我正在尝试使用TFS2013为VS2015解决方案进行团队构建。 在buildserver上安装了VS2015,我更改了buildtemplate,因此msbuild有一个参数\tv:14.0,但启动生成时,我收到以下错误: C:\程序文件 (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(96): 无效的静态方法调用语法: “[Microsoft.Build.Utilities.ToolLocationHelper]:

我正在尝试使用TFS2013为VS2015解决方案进行团队构建。 在buildserver上安装了VS2015,我更改了buildtemplate,因此msbuild有一个参数\tv:14.0,但启动生成时,我收到以下错误:

C:\程序文件 (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(96): 无效的静态方法调用语法: “[Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKDisplayName($(TargetPlatformIdentifier), $(TargetPlatformVersion))”。方法 'Microsoft.Build.Utilities.ToolLocationHelper.GetPlatformSDKDisplayName' 没有找到。静态方法调用的形式应为: $([FullTypeName]::Method()),例如$([System.IO.Path]::Combine(
a
),
b
))

buildserver已重新启动,但我仍然收到错误消息。
我也检查了这条线索:但没有给出真正的答案。是否有人知道如何解决此问题。

您需要通过查找all为项目运行MSBuildMSBuild活动自定义生成过程模板,然后将ToolVersion设置为“14.0”,并将ToolPath设置为target设置为MSBuild14(默认情况下:C:\Program Files(x86)\MSBuild\14.0\Bin”)。之后,签入构建过程模板,并对构建重新排队


检查此处的解决方案:

我遇到了完全相同的错误。我确定TFS2013是RTM版本,所以我们安装了TFS2013更新5。现在,如果使用带有/tv:14.0/p:VisualStudioVersion=14.0参数的*.12.xaml流程模板运行,则构建成功。我还复制了*.12.xaml生成过程,并将其命名为*.14.xaml,并将Run-MSBuild-steps-ToolVersion属性更改为“14.0”,此生成也可以运行,没有参数。

您尝试过吗?我安装了sdk,但仍然没有更改。但是当我在GAC中查看时,有一个程序集Microsoft.Build.Utilities。在该程序集中,ToolLocationHelper类中没有GetPlatformSDKDisplayName方法。但在文件夹C:\Program Files(x86)\MSBuild\14.0\bin中有一个DLL Microsoft.Build.Utilities.Core,还有一个GetPlatformSDKDisplayName,用于类ToolLocationHelper。可能是他在文件夹中找不到dll(名称??)并且默认为gac吗?@SebastianS,当通过修改MSBuild活动自定义生成过程模板时,请将工具路径设置为“C:\Program Files(x86)\MSBuild\14.0\Bin”。将VS2012项目移植到VS2015时,我花了几天时间研究了同一个GetPlatformSDKDisplayName错误。事实证明,构建过程中使用的工具引用了.NET的Microsoft.build程序集:C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v4.5\。我删除了它们并浏览到C:\Program Files(x86)\MSBuild\14.0\Bin\以添加MSBuild 14版本。很抱歉,我没有时间编辑上面的注释。我使用Microsoft.Build.Utilities.Core代替旧的Microsoft.Build.Utilities程序集。它们都使用Microsoft.Build.Utilities命名空间,因此我的代码不必更改。问题是,我使用的模板(TfvcTemplate.12.xaml)不包含“为Project运行MsBuild”的活动,它只运行了MsBuild,我无法随该活动传递工具路径。我似乎也找不到其他生成模板。然后尝试将MSBuild参数设置为/tv:14.0,而不是\tv:14.0负责TFS的人员不愿意执行更新。这对他来说是有风险的(外部方安装并配置了TFS)。这确实可能是我正在寻找的答案。需要更多的时间来说服他。谢谢你的回答,我们做了升级,它成功了。感谢您提供的信息,我们已经在TFS 2013上安装了更新5,但仍然失败。更新后是否有任何一个出现相同的错误?