【发布时间】:2010-12-08 02:25:16
【问题描述】:
我们正在尝试整理一些用于处理依赖关系的约定,并将代码签入到 svn 中。以前的方法基本上对所有人都是免费的,这意味着如果不摆弄引用就无法签出和构建项目(大多数项目都是 C#)。
我们一次次修复这一步骤,现在将二进制文件签入到单独的 svn 存储库。构建通过它们对应的 svn 修订号来区分,所以你可能有一个类似svnrelease/libraryA/r1000/libraryA.dll 的路径。出现的一件事是这样的场景:库 A 依赖于库 B,项目 P 依赖于库 A,但也直接引用库 B。如果库 A 引用 B 的修订版 1000,但项目 P 的直接引用是2000 年修订版?
我建议在 DLL 文件名中包含修订号,当它们被检入发布 svn 存储库时,多个版本可以共存。一位同事建议 VS2k8 可能能够自动处理这个问题。因此,如果在库 A 项目中,将其设置为 1.8 版,VS 将输出命名为“libraryA_1_8.dll”,而在项目 P 中,您可以参考“$(release)\libraryA\$(version)”它可以解决。我找不到有关如何执行此操作的任何信息。这可能吗?如果不是,我在 DLL 二进制文件中包含版本名称的方法是否合理?
(我知道这种情况表明重构代码可能是必要的,但我正在寻找一个短期解决方案,因为我们整理了一些东西。使用 GAC 也是可能的,但现在我们想坚持分发 DLL每个应用程序。)
【问题讨论】:
标签: visual-studio svn versioning