Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException 未处理

Posted

技术标签:

【中文标题】Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException 未处理【英文标题】:Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException was unhandled 【发布时间】:2019-11-02 18:41:01 【问题描述】:

我有更新 TFS 全局列表的代码,因此当新客户添加到我们的客户跟踪软件时,它会更新客户名称列表。

代码能够获取 GlobalList 并更新 xml。但是,当我打电话给store.ImportGlobalLists(globalList.InnerXml) 时,我得到了一个例外。 store 变量是WorkItemStore 我能找到的关于这个异常的唯一相关信息是here,它没有提供太多额外信息。该异常提供了更多信息:

您不能修改工作项跟踪对象的定义 您的命令行工具版本,因为它们与 Team Foundation Server 的 Web 服务。联系您的系统 管理员确定如何升级您的 Team 安装 Explorer 到与 Team Foundation Server 兼容的版本。

我正在使用:

Visual Studio 2015 版本 14.0.25431.03 更新 3 .NET 版本 4(不使用 NuGet 进行 TFS 通信) TFS 版本 2015 (14.102.25423.0)

完整的例外如下:

Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException was unhandled
  ErrorId=0
  HResult=-2146232832
  IsRemoteException=True
  LogException=False
  Message=TF223006: You cannot modify the definition of a work item tracking object with your version of command-line tools as they are not compatible with the Web services for Team Foundation Server. Contact your system administrator to determine how to upgrade your installation of Team Explorer to a version compatible with Team Foundation Server.
  Source=Microsoft.TeamFoundation.WorkItemTracking.Client
  StackTrace:
       at Microsoft.TeamFoundation.WorkItemTracking.Client.Provision.ProvisionClass.Submit(ActionType action, MetadataProvider mdp, Int32 projectId, WITImporter importer)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.Provision.ProvisionClass.ImportGlobalListsInternal(XmlElement listsElement)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.Provision.ProvisionClass.ImportGlobalLists(String lists)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.ImportGlobalLists(String lists)
       ...
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 
       Actor=/tfs/DefaultCollection/WorkItemTracking/v4.0/ClientService.asmx
       HResult=-2146233087
       Lang=""
       Message=TF223006: You cannot modify the definition of a work item tracking object with your version of command-line tools as they are not compatible with the Web services for Team Foundation Server. Contact your system administrator to determine how to upgrade your installation of Team Explorer to a version compatible with Team Foundation Server.
       Node=/tfs/DefaultCollection/WorkItemTracking/v4.0/ClientService.asmx
       Role=""
       Source=Microsoft.TeamFoundation.WorkItemTracking.Proxy
       StackTrace:
            at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
            at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
            at CProdStudioBackendChannel.Update(CProdStudioBackendChannel* , Boolean fBatchSave, UInt16* bstrXMLUpdateData, UInt16** pbstrXMLUpdateData, WorkItemServer clientService)
       InnerException: 

附带说明,我确实尝试将我的 TFS Power Tools 更新到 2015,但它已经安装了。我确实安装了 VS 2010 和 VS 2017,但听起来可以并排安装多个版本的 Power Tools。

【问题讨论】:

本地与witadmin 是否成功导入全局列表? @ShaykiAbramczyk - 是的,我能够使用 witadmin 导出。我对结果进行了更改并尝试使用 witadmin importgloballist 并收到与上面相同的错误。 其他用户可以从他们的机器上导入全局列表吗? 【参考方案1】:

我需要将 Microsoft.TeamFoundationServer.Client 更改为版本 14.102.0。为此,我需要将解决方案更新到 .NET 4.5,并更新一些其他 NuGet 以使代码在构建后不显示错误。

我在这个过程中仍然遇到异常,但是这个特定的问题是这样解决的。

【讨论】:

以上是关于Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException 未处理的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft.TeamFoundation.WorkItemTracking.Client.VerbatimMessageException 未处理

Azure DevOps 发布错误“Microsoft.TeamFoundation.DistributedTask.Pipelines.PipelineValidationException(类型

Microsoft.TeamFoundation.WorkItemTracking.Client.Field添加默认值

如何从 Microsoft.TeamFoundation.WorkItemTracking.Client 访问 git 提交的消息?

Powershell Get-TfsWorkspace 找不到作为另一个用户创建的工作区。 (Microsoft.TeamFoundation.PowerShell)

如何解决这个问题?,您是不是缺少程序集参考