【问题标题】:Assembly reference issue while unit testing as part of CI using TFS使用 TFS 作为 CI 的一部分进行单元测试时的程序集参考问题
【发布时间】:2017-06-23 20:01:11
【问题描述】:
我们已经设置了一个单元测试项目来测试一个 c# 类库。 c# 类库有对企业库的引用。单元测试在使用 Visual Studio 构建时执行良好。但是当它使用 TFS 作为 CI 的一部分执行时,由于缺少对企业库的程序集引用,它会失败。但是当我们在构建服务器 GAC 中注册企业库时,它工作正常。
我们如何确保在 CI 单元测试期间,引用的程序集不是 GAC,而是本地副本。尽量避免将所有引用的程序集注册到 gac
【问题讨论】:
标签:
unit-testing
tfs
continuous-integration
【解决方案1】:
您可能不应该只对 CI 单元测试进行排除 - 您应该对本地和 CI 都这样做。这将避免(新)开发人员从源代码中提取并且无法构建的问题。显然,在使用企业库时需要考虑许可。
一般来说,如果它是一个未托管在 NuGet 上的外部 DLL,我会在解决方案中创建一个“extLib”或等效文件夹,将我所有的 DLL 放在那里,并使用该文件夹中的 DLL 作为参考该项目。确保该文件夹中的 DLL 设置为“复制到输出目录”。