【发布时间】:2010-01-28 02:43:42
【问题描述】:
假设我在 nUnit 2.1 之上编写了 SuperTest,我想与全世界分享我的创作。 Jess 很想使用我的库,她也想直接使用 nUnit。她的应用 HeadBook 使用 nUnit 2.8
来源版本我可以看到的场景:
- 她检查了 nUnit 2.1 附带的 SuperTest 源,在 nUnit 2.8 中复制,重新编译 SuperTest,将 SuperTest.dll 复制到 HeadBook 中
- 她检查了 SuperTest 源,它不随 nUnit 一起提供,但包含一个必须提供的参考。她在 nUnit 2.8 中复制,重新编译 SuperTest,将 SuperTest.dll 复制到 HeadBook 中
我看到的二进制版本的场景:
- 她下载 SuperTest 1.0 二进制文件,将 SuperTest.dll 和 nUnit 2.1 放入 GAC 并从 GAC 引用 SuperTest
- 她下载 SuperTest 1.0 二进制文件,将 dll 复制到 HeadBook 并重新编译 HeadBook 以使用 nUnit 2.1
- 她将已被 ILMERGED 的 SuperTest 1.0 二进制文件下载到一个 dll 中,复制到 headbook 和参考文献中
我正在尝试找出设置此项目的最佳方法。似乎最好的方法是包含 nUnit 的副本,具有本地引用并将 ilmerge 作为构建步骤。
我想避免使用我没有测试过的不同版本的依赖项重新编译 SuperTest,但我可能还想避免使用 gac,这样部署就很轻松了。
ilmerge 会是最好的方法吗?
【问题讨论】:
标签: .net deployment open-source versioning