Попытка переноса проекта TFS2012 с одного сервера на другой с использованием платформы интеграции TFS

#tfsintegrationplatform

#платформа tfsintegrationplatform #tfsintegrationplatform

Вопрос:

Я перенес все элементы управления версиями без проблем. Рабочие элементы — это совсем другая история. Я всегда заканчиваю с SoapException: SourceAreaId . Оба проекта используют один и тот же шаблон процесса. Я использовал IntegrationPlatformMappingTool.exe чтобы создать FieldMappings. Я знаю, что есть еще один человек, который столкнулся с этой проблемой, но решения не было. Они сообщили о проблеме в CodePlex и MSDN

Я не совсем уверен, что еще можно попробовать. Есть мысли?

 [6/26/2014 10:38:27 AM] TfsMigrationShell.exe Information: 0 : WorkItemTracking: Unresolved conflict:  
[6/26/2014 10:38:27 AM]   Session Group: 36bc61df-f2f8-4be0-9f9e-16f3c4c0e488 
[6/26/2014 10:38:27 AM]   Message: Cannot find applicable resolution rule. 
[6/26/2014 10:38:27 AM]   Conflict Type: TFS WIT general conflict type 
[6/26/2014 10:38:27 AM]   Conflict Type Reference Name: 470f9617-fc96-4166-96eb-44cc2cf73a97 
[6/26/2014 10:38:27 AM]   Conflict Details: System.Web.Services.Protocols.SoapException: SourceAreaId 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.HandleReply(TfsClientOperation operation, TfsMessage message, Object[]amp; outputs) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]amp; outputs) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, Object[]amp; outputs) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.WorkItemTracking.Proxy.ClientService3.GetWorkItemLinkChanges(Int64 rowVersion) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.GetWorkItemLinkChanges(String requestId, Int64 rowVersion) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.Tfs2010WorkItemServer.GetWorkItemLinkChanges(String requestId, Int64 rowVersion) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsMigrationWorkItemStore.GetLinkChanges(Int64amp; linkChangeIdHighWaterMark, DateTime excludeItemsChangedBeforeTime) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.TfsMigrationWorkItemStore.GetItemsWithLinkChanges(Int64amp; linkChangeIdHighWaterMark, DateTime excludeItemsChangedBeforeTime) 
[6/26/2014 10:38:27 AM]    at Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.Linking.Tfs2010LinkProvider.GenerateNextLinkDeltaSlice(LinkService linkService, Int32 maxDeltaSliceSize) 
  

Комментарии:

1. Что-нибудь в журналах вашего сервера? Пытались включить трассировки клиента TFS? See: larzjoakimnilzzon.blogspot.nl/2012/04/… Более подробная информация поможет, похоже, не многие люди сталкивались с этим, что означает, что для нас, вероятно, невозможно воссоздать ситуацию, в которой вы находитесь.

2. Спасибо за быстрый ответ. Я добавил трассировки клиента и вскоре повторю попытку миграции и посмотрю, что мы получим в журналах.

3. Используя Fiddler2, я смог собрать больше информации. Похоже, что инструмент вызывает метод «getworkitemlink Chang». Метод ожидает идентификатор запроса и версию строки (строка, длинная). Все, что предоставляется, это идентификатор запроса (без версии строки). Ошибка, возвращаемая веб-службой: IndexOutOfRangeException: SourceAreaId. Я скачаю исходный код и посмотрю, смогу ли я пройти через него. Может быть, на другом сервере TFS возникла какая-то проблема с данными? Если что-либо из этого «звонит в колокол» для кого-либо, дайте мне знать. Еще раз спасибо!

4. После открытия кода инструментов и отслеживания строки кода, в которой он получает изменения ссылок на рабочие элементы, я решил, что изменения ссылок на рабочие элементы не важны для наших нужд. Я не смог найти никакой документации, объясняющей, как создать правило для «пропуска» или «игнорирования» общего типа конфликта, поэтому я обновил код, чтобы просто игнорировать, если в этом методе возникает исключение «IndexOutOfRangeException: SourceAreaId».