【问题标题】:How do I reference a PIA so my build works ona build server如何引用 PIA,以便我的构建在构建服务器上工作
【发布时间】:2010-10-31 17:04:09
【问题描述】:

我正在处理一些我继承的东西,这些东西的项目结构有点凌乱。一些项目引用了预期将安装在 GAC 中的主互操作程序集 (PIA)。解决方案文件夹中有一条注释(总结)“在构建此项目之前,首先构建 X、Y 和 Z 并手动将它们安装在 GAC 中”。嗯,这不利于自动化或持续集成,是吗?

我想让这个构建在 TeamCity 构建服务器上运行,构建代理将在没有在全局程序集缓存 (GAC) 中安装 PIA 的机器上运行。所以构建会失败。我不想在每台构建代理机器上都安装这些 PIA,我需要构建是自包含的,因此它可以从干净的源代码签出构建,轻松搞定。所以问题是双重的。

  1. 如果对 GAC 有任何依赖关系,我如何构建构建以使其独立且不会中断?
  2. 如果 (1) 成功,这将如何影响部署到最终用户桌面,必须将 PIA 安装到 GAC?

感谢 Stack Overflow 社区的专家建议。

【问题讨论】:

    标签: visual-studio-2008 build-process build-automation dependencies teamcity


    【解决方案1】:

    我只需添加一个构建步骤,将 X、Y 和 Z 安装到 GAC,然后完成构建、运行单元测试等。

    完成后,它会从 GAC 中卸载。

    让您的构建“独立”的唯一方法是停止依赖 GAC 安装的程序集。这不是构建服务器配置问题,而是程序集架构问题。如果可能的话,将那些在构建时复制到其他项目的 bin 文件夹的常规程序集引用。

    这使得最终用户部署变得非常容易 - 您可能可以在不安装 GAC 的情况下利用 Click-Once 部署。

    【讨论】:

    • 感谢您的想法亚当。不幸的是,这些组件需要在最终用户系统的 GAC 中部署,因为它们是真正的共享组件,将被许多外部开发的系统使用。所以,至少在部署方面,我必须使用 GAC。
    猜你喜欢
    • 2012-01-03
    • 2013-03-11
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2018-07-29
    • 1970-01-01
    相关资源
    最近更新 更多