代码之家  ›  专栏  ›  技术社区  ›  Giraffe

在Visual Studio 2008的Team Build 2005中生成报表API

  •  0
  • Giraffe  · 技术社区  · 16 年前

    我们的商店是用Team Foundation 2005服务器建立的,但是所有的开发工作都是在Visual Studio 2008中完成的。

    我想能够做的是编写一个程序,检查给定构建定义的构建历史,并提取测试结果,以生成团队构建实际上不提供的那种漂亮的图。

    但是,我无法从TFSAPI中获取构建服务。在VS2008中引用TeamFoundationClient DLL显然会获取TFS2008客户端对象,而TFS2005允许我连接,但我无法询问2008 Build Server服务:

    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."
    }
    

    我在使用2005 API时发现了以下文章: http://notsosmartbuilder.blogspot.com/2006/12/get-build-changes-changesetdata.html

    但是,buildstore对象不再是2008客户端对象模型的一部分。我可以以任何方式访问2005客户端DLL吗?我可以在开发人员机器上安装团队资源管理器来获得VS2005,但是有一种更简单的方法吗?我是否也可以引用某些DLL(哪个??)从2005年安装的一个VS2008项目,还是简单地在VS2005中开发它会比较容易?

    还有其他我可以尝试的方法吗?(buildLogger在构建时收集信息并自己存储;一种解析.trx文件的方法(我是否提到每个单元测试运行有多个trx文件?);使用TFS报告(尽管我们的报告服务在安装TFS时中断)等?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Giraffe    15 年前

    如果安装了TeamExplorer 2005,则可以从VS2008访问所需的DLL。但是,它们没有出现在VS2008的.NET选项卡下的“添加引用”对话框中,我必须在TeamExplorer 2005的已安装文件夹中浏览到它们。

    我安装了VS2005,所以对我来说,DLL最终出现在程序文件\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies中。\

    我需要为构建历史记录的基本枚举和检查测试结果添加引用的DLL为:

    • Microsoft.TeamFoundation.客户端
    • Microsoft.TeamFoundation.Common(Microsoft.TeamFoundation.Common)
    • Microsoft.TeamFoundation.Build.客户端
    • Microsoft.TeamFoundation.Build.Common(Microsoft.TeamFoundation.Build.Common)
    推荐文章