新手问题:我在 TeamCity 中有 2 个 C# 项目,分别称为 A 和 B。A 包含对 B.dll 的引用。 B 构建良好。但是,A 无法构建,因为它找不到 B:找不到程序集“B”
看起来真的很简单:我如何告诉我在 buildserver 上的项目 A 在哪里可以找到 B\bin\Release 中的二进制文件?
最佳答案
您遇到的问题是 Teamcity 在其自己的临时目录中运行每个构建,并且由于这是一个随机生成的名称,因此您无法直接设置从一个到另一个的引用。
通常,您会编写一个构建脚本,以正确的顺序构建 A 和 B,然后让 Teamcity 运行该构建脚本。 (由于您使用的是 C#,因此 MSBuild 是理想的选择)。
另一种方法是在构建结束时将 B.dll 复制到已知位置(例如 c:\currentbuild
),并让 A 始终从此处引用它。您可以在 Teamcity 中设置构建依赖项,这样如果 B 被重建,A 也会被重建。
关于teamcity - 在另一个项目中引用二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972759/