TFS 2015升级:生成定义参数解析问题

TFS 2015升级:生成定义参数解析问题,tfs,msbuild,tfs-2015,Tfs,Msbuild,Tfs 2015,我们刚刚升级到TFS2015,现在我们的大多数构建都无法工作。错误如下所示: 异常消息:生成控制器无法反序列化进程 构建的参数。确保工艺参数正确无误 与生成计算机上的程序集兼容。详情:套 属性“Microsoft.TeamFoundation.Build.Common.BuildParameter.Json” 抛出了一个异常。(类型例外) [……] 异常消息:TF401070:无法反序列化JSON字符串 假如细节: 分析注释时出错。期望值:*,得到p。路径“MSBuildArguments”,第

我们刚刚升级到TFS2015,现在我们的大多数构建都无法工作。错误如下所示:

异常消息:生成控制器无法反序列化进程 构建的参数。确保工艺参数正确无误 与生成计算机上的程序集兼容。详情:套 属性“Microsoft.TeamFoundation.Build.Common.BuildParameter.Json” 抛出了一个异常。(类型例外)

[……]

异常消息:TF401070:无法反序列化JSON字符串 假如细节: 分析注释时出错。期望值:*,得到p。路径“MSBuildArguments”,第1行,位置991。(类型 BuildParameterSerializationException(异常) 异常堆栈跟踪:位于Microsoft.TeamFoundation.Build.Common.BuildParameter.set_Json(字符串 价值)

我知道我必须更改MSBuild参数,以便对其进行分析,但它不允许我更新生成定义的“进程”选项卡(提示错误且所有字段均为空),因此我无法编辑参数


这个问题有解决办法吗?我可以用其他方式编辑MSBuild参数吗?

首先,确保生成计算机与服务器的版本匹配

下一步是重新编译此生成计算机使用的任何自定义活动程序集(如果有)。

解决了该问题

在另一台服务器上重新安装了TFS2013,将VisualStudio重新指向该TFS服务器,然后我可以获取构建参数

打开“生成定义过程”选项卡时出现的错误清除了生成定义的所有字段。所以我基本上一个接一个地插入所有的旧值,直到它失败

错误是我作为MSBuild参数传递的TFS路径,TFS2015不喜欢路径开头的“$”(我猜它会自动认为它是TFS变量,2013年没有发生),因此我将其更改为ASCII代码“%24”。如果你安装了“微软VisualStudio Team Foundation Server 2015动力工具”,并使用命令“Tfpt.EXBueDeDebug”,请确定以下错误信息:

< P> 1)修复上述错误消息的方法是将丢失的DLL(“NeNtToSo.JSO.DLL”)复制到文件夹“C:\程序文件(x86)\微软Team Foundation Server 2015动力工具”。

a) 确保打开提升的命令提示符

< p> b)将文件“%CudioFieldFix%\微软共享\ Team Foundation Server \ 14 \NeNethSoop.JSO.DLL”复制到文件夹“C:\程序文件(x86)\微软Team Foundation Server 2015动力工具”

c) 关闭“提升命令提示符”并打开常规命令提示符,例如“MS VS 2015命令提示符”


d) 确认上述错误消息已消失。

也有类似的问题,但只有在生成进程存在“MSBuild参数”(“/maxcpucount”)时才会发生异常。进一步的调查使我发现创建的转储文件中缺少构建过程信息。用户7982840指定的解决方案纠正了这两个问题:

  • 转储文件中缺少进程详细信息
  • “设置属性 'Microsoft.TeamFoundation.Build.Common.BuildParameter.Json' 抛出了一个异常。“

  • 您从哪个版本的TFS升级?您对构建使用的构建过程模板是什么(是自定义的)?你能提供你的构建定义的屏幕截图吗?如果你创建了一个新的构建定义,你会得到同样的错误吗?谢谢你的帮助,我找到并发布了答案。-我们从TFS2013升级,我也将构建服务器升级到TFS2015。但是我在另一个使用VS2013和TFS2013的构建服务器中遇到了相同的错误我正在使用一个自定义的构建过程模板。尝试更改为默认模板,但未解决问题。