none
TFS build中,构建生成失败,因为COM组件问题 RRS feed

  • 问题

  • 我使用C++写了一个ATL的COM组件,然后再C#的项目中通过COM引用了这个组件

    在Visual Studio下可以顺利编译和运行,但TFS Build里面却不行了

    我想请教一下该如何设置此种状态下的Build Server 呢?

    谢谢~

    错误问题:

    $/Manhattan/LittleBoy/LittleBoy.sln - 1 个错误,11 个警告,查看日志文件
     ZY3WorkFlow.cs (10): 未能找到类型或命名空间名称“GeometrySimulationAPILib”(是否缺少 using 指令或程序集引用?)

    GeometrySimulationAPILib是一个ATL,为COM组件

    2012年12月12日 3:27

答案

  • Hi,

    TFS Build本身就是使用MSBuild 来build项目的,如果你在TFS build agent 上使用MSBuild能够正确build,那么使用TFS应该也是没有问题的。根据你以上提供的错误信息,在ZY3WorkFlow.cs 文件中并不能正确引用GeometrySimulationAPILib,请你再次确认一下这个assembly在指定的路径是存在的并且你的TFS build service 账号有权限访问。


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年12月17日 6:18
    版主

全部回复

  • Hi,

    TFS在build的时候其实是在TFS Build Agent这台机器上的,所以如果想要在这个build agent机器上build成功你需要确保它上面的软件环境和你的开发机器上一致的。对于你现在的情况,请你确保你的build agent上的机器有相应的Com 组件,否则如果你要build的project依赖这个组件在Build agent的机器上找不到就会build 失败。


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年12月13日 6:04
    版主
  • 我的开发环境和 TFS以及TFS Build在同一台机器上的。目前在COM组件里面有这个组件,但就是build出错。

    我在ATL的这个工程里面使用了 “逐用户重定向”。

    并且,我是两个 sln ,这两个sln在同一个团队项目中,第一个sln里面只有那个ATL,第二个sln我通过添加现有项目的方式将ATL添加进来了。是这个的影响吗?


    • 已编辑 mibxue 2012年12月13日 6:45
    2012年12月13日 6:37
  • 前辈,如果可以的话,我可以抱着电脑到MSRA或者微软中国来请教这个问题吗?...
    2012年12月13日 6:57
  • 我使用了MSbuild.exe 进行了编译,出现一个警告:

    warning MSB 3284: 无法获取类型库"xxxx一个guid"版本1.0的文件路径。库没有注册。

    我查看了注册表,有这个库注册的信息,并且在visual studio里面,在项目-》引用 COM标签页中也能看到这个库。这个问题该如何解决呢?

    使用msbuild能生成成功,但是在 TFS里面就是不行。。。。

    ZY3WorkFlow.cs (10): 未能找到类型或命名空间名称“GeometrySimulationAPILib”(是否缺少 using 指令或程序集引用?)


    • 已编辑 mibxue 2012年12月14日 4:11
    2012年12月14日 3:51
  • Hi,

    TFS Build本身就是使用MSBuild 来build项目的,如果你在TFS build agent 上使用MSBuild能够正确build,那么使用TFS应该也是没有问题的。根据你以上提供的错误信息,在ZY3WorkFlow.cs 文件中并不能正确引用GeometrySimulationAPILib,请你再次确认一下这个assembly在指定的路径是存在的并且你的TFS build service 账号有权限访问。


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年12月17日 6:18
    版主
  • 用了4个月,问题解决了,是platform的问题,把ATL 弄成 x64 编译,问题解决。。。莫名其妙。 过去4个月跑测试用例都是专门开个计算机跑,自动化测试都废了。悲剧
    2013年4月13日 17:06