如果我有两个项目,一个输出 .dll 和 .lib 存根,另一个链接到 .lib 存根,并且通过扩展在运行时使用生成的 .dll,我该如何设置我的 TC 构建系统和 GIT 存储库干净地:
- 允许用户签出客户端应用程序、构建它并运行它,而无需查找最新的 .dll/.lib 文件
- 保持客户端应用程序的官方版本和 TC 版本同步;如果我签出并在本地运行,它的行为与 TC 构建版本相同,使用相同的 .dll 和 .lib
我最初的想法是在客户端应用程序中拥有适当的 .lib 和 .dll 文件(如 3rd 方二进制文件),然后在构建新的 .dll 时由 TC 签入;让 TC推入 git有点奇怪,但它似乎可以工作。或者,我可以在解决方案的预构建步骤中使用逻辑,该逻辑会发送给 TC 以获取最新的二进制文件,我不太喜欢这种方式,因为构建用户可能没有 TC 的凭据,而且他们可能实际上并不想获得最新版本。
如果第一个解决方案是要走的路,那么 TC 是否对此提供了简单的支持?还是我必须在构建过程中进行完整的签出、更新、添加/提交、推送?这些解决方案有没有我没有考虑过的陷阱?