我如何引用PIA我的构建在构建服务器上工作

时间:2009-06-05 16:41:48

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

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

我想让这个版本在TeamCity构建服务器上运行,构建代理将在没有在全局程序集缓存(GAC)中安装PIA的机器上运行。所以构建将失败。我不想在每个构建代理机器上安装这些PIA,我需要构建是自包含的,因此它可以从一个干净的源代码检查,汤到坚果构建。所以问题是双重的。

  1. 如何构建构建以使其自包含且如果GAC存在任何依赖性则不会中断?
  2. 如果(1)成功,这将如何影响最终用户桌面的部署,其中PIA必须安装到GAC?
  3. 我很感激Stack Overflow社区的专家建议。

1 个答案:

答案 0 :(得分:0)

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

完成后,它将从GAC卸载。

让您的构建成为“自包含”的唯一方法是停止依赖于GAC安装的程序集。这不是构建服务器配置问题,它是一个程序集体系结构问题。如果可能,请将那些只是常规程序集引用复制到其他项目的bin文件夹中。

这使得最终用户部署变得非常容易 - 您可以利用没有安装GAC的Click-Once部署。