API отчетов о сборке в Team Build 2005 из Visual Studio 2008 - PullRequest
0 голосов
/ 03 сентября 2010

В нашем магазине установлен сервер Team Foundation 2005, но вся работа по разработке выполняется в Visual Studio 2008.

Что я хотел бы сделать, так это написать программу, которая анализирует историю сборки заданного Определения сборки и извлекает результаты теста для создания симпатичных графиков, которые Team Build действительно не дает.

Однако у меня проблемы с получением службы сборки из TFS API. Ссылка на библиотеки TeamFoundationClient в VS2008, очевидно, дает мне клиентские объекты TFS2008, а TFS2005 позволяет мне подключаться, но я не могу запросить службу сервера сборки 2008:

TeamFoundationServer teamServer = TeamFoundationServerFactory.GetServer(m_tfsServerName);
teamServer.EnsureAuthenticated();

IBuildServer buildServer;
try
{
    buildServer = (IBuildServer)teamServer.GetService(typeof(IBuildServer));
}
catch(Exception ex)
{
    // Error thrown:
    // System.NotSupportedException
    // "TF214015: The build client object model does not support Team Foundation Server 2005."
}

Я нашел следующий пост об использовании API 2005: http://notsosmartbuilder.blogspot.com/2006/12/get-build-changes-changesetdata.html

Однако объект BuildStore больше не является частью клиентской объектной модели 2008 года. Можно ли каким-либо образом получить доступ к клиентским библиотекам 2005 года? Я могу получить VS2005 с Team Explorer, установленным на моей машине разработчика, есть ли более простой способ? Могу ли я также ссылаться на некоторые DLL (которые ??) из установки 2005 года из проекта VS2008, или было бы менее болезненно просто разработать эту вещь в VS2005?

Какие-нибудь другие альтернативные подходы, которые я мог бы попробовать? (BuildLoggers для сбора информации во время сборки и ее сохранения самостоятельно; способ анализа файлов .trx (я уже упоминал, что у нас есть несколько файлов trx за запуск юнит-теста?); Использование отчетов TFS (хотя наша служба отчетов не работает наша установка TFS) и т.д?)

1 Ответ

0 голосов
/ 18 октября 2010

Если вы установите Team Explorer 2005, вы сможете получить доступ к библиотекам DLL, необходимым для VS2008. Однако они не отображаются на вкладке .NET в диалоге добавления ссылок VS2008, мне пришлось просматривать их в установленной папке Team Explorer 2005.

У меня был установлен VS2005, поэтому для меня библиотеки DLL оказались в папке Program Files \ Microsoft Visual Studio 8 \ Common7 \ IDE \ PrivateAssemblies \

Библиотеки DLL, к которым мне нужно было добавить ссылки для базового перечисления истории сборки и проверки результатов теста, были:

  • Microsoft.TeamFoundation.Client
  • Microsoft.TeamFoundation.Common
  • Microsoft.TeamFoundation.Build.Client
  • Microsoft.TeamFoundation.Build.Common
...