У меня есть код, который обновляет глобальный список TFS, поэтому, когда новый клиент добавляется в наше программное обеспечение для отслеживания клиентов, он обновляет список имен клиентов.
Код может получить GlobalList и обновить XML. Однако, когда я звоню store.ImportGlobalLists(globalList.InnerXml)
, я получаю исключение. Переменная store
- это WorkItemStore
Единственная релевантная информация, которую я смог найти по этому исключению, это здесь , которая не дает много дополнительной информации. Исключение дает дополнительная информация:
Вы не можете изменить определение объекта отслеживания рабочего элемента с помощью
ваша версия инструментов командной строки, так как они не совместимы с
Веб-сервисы для Team Foundation Server. Свяжитесь с вашей системой
администратор, чтобы определить, как обновить вашу установку Team
Проводник до версии, совместимой с Team Foundation Server.
Я использую:
- Visual Studio 2015 версия 14.0.25431.03 обновление 3
- .NET версии 4 (не использует NuGets для связи TFS)
- TFS Version 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, расположенных рядом.