Как обновить настроенный шаблон процесса, чтобы получить доступ к новым функциям в нескольких командных проектах в TFS 2015 RTM?

Я прочитал эти ссылки на официальной странице Microsoft Обновите настраиваемый шаблон процесса, чтобы получить доступ к новым функциям:

Когда я пытаюсь выполнить Features4tfs.2015 в режиме отладки, я получаю это исключение System.NotSupportedException: Specified method is not supported. at Microsoft.TeamFoundation.Integration.Server.CommonStructureService.Microsoft.Tea‌​‌​mFoundation.Framework.Server.ITeamFoundationService.ServiceStart(TeamFoundation‌​Re‌​questContext systemRequestContext)

по этому звонку

ProjectFeatureProvisioningService.GetFeatures(...).

Есть идеи?


person Gabriel    schedule 18.08.2015    source источник
comment
Моей первой проблемой был поиск dll Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.dll, она была решена с помощью jessehouwing, подробнее см. ответ ниже.   -  person Gabriel    schedule 18.08.2015


Ответы (2)


Кажется, он живет здесь в v14:

public class ProjectFeatureProvisioningService : ITeamFoundationService, IProjectFeatureProvisioning

Name: Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.ProjectFeatureProvisioningService 
Assembly: Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common, Version=14.0.0.0 

Рефлектор — ваш друг в таких случаях. Просто загрузите все сборки из каталогов сервера TFS в Reflector, а затем используйте функцию поиска:

введите здесь описание изображения

Тогда будет проще простого найти здесь сборку "Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.dll":

  • C:\Program Files\Microsoft Team Foundation Server 14.0\Уровень приложений\Веб-службы\bin
  • C:\Program Files\Microsoft Team Foundation Server 14.0\Уровень приложений\TFSJobAgent\Plugins

Эти внутренние классы могут перемещаться между сборками без уведомления. Вот почему они внутренние ;).

Полное раскрытие информации: я получил копию Reflector Pro за свой блог и любовь к продукту. Существуют и другие продукты, такие как IlSpy, justDecompile или dotPeek, которые могут предлагать аналогичные функции.

person jessehouwing    schedule 18.08.2015
comment
Спасибо, я наконец нашел dll Microsoft.TeamFoundation.Server.WebAccess.WorkItemTracking.Common.dll на сервере TFS 2015 в следующих местах: C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services\bin C: \Program Files\Microsoft Team Foundation Server 14.0\Уровень приложений\TFSJobAgent\Plugins - person Gabriel; 18.08.2015
comment
Если у вас получится, свяжитесь со мной по @jessehouwing в Твиттере :). - person jessehouwing; 18.08.2015
comment
Я получаю это исключение Microsoft.TeamFoundation.Framework.Server.HostShutdownException в этой строке, используя (TeamFoundationRequestContext requestContext = deploymentServiceHost.CreateSystemContext(true)) - person Gabriel; 18.08.2015
comment
Я могу обойти это исключение, передав обе опции /c: /w: или /c: /d: с правильными параметрами, но затем происходит сбой на пару строк ниже по коду. с: System.NotSupportedException: Specified method is not supported. at Microsoft.TeamFoundation.Integration.Server.CommonStructureService.Microsoft.TeamFoundation.Framework.Server.ITeamFoundationService.ServiceStart(TeamFoundationRequestContext systemRequestContext) - person jessehouwing; 18.08.2015
comment
Но это либо обновление этого вопроса, либо новый вопрос в целом, и в этом случае, пожалуйста, наградите и закройте этот вопрос. - person jessehouwing; 18.08.2015

Вот решение, предложенное Microsoft для решения проблемы с feature4tfs в TFS 2015 RTM:

вставьте эту строку

deploymentHostProperties.PlugInDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), @"Microsoft Team Foundation Server 14.0\Application Tier\TFSJobAgent\Plugins");

сразу после этой строки (строка 68)

TeamFoundationServiceHostProperties deploymentHostProperties = new TeamFoundationServiceHostProperties();

После этого он отлично работает на TFS 2015 RTM.

person Gabriel    schedule 06.10.2015