【发布时间】:2012-05-03 16:52:26
【问题描述】:
我有一个由多个项目(所有类库)组成的解决方案。 假设:A、B、C、D、E。
A、B 和 C 提供核心功能并且必须一起分布。 D 和 E 提供了一些不一定在所有情况下都需要的适配器。
所以,很自然地,我想在分发之前将 A、B 和 C 合并为一个程序集(名为 ABC)。
问题是在编译项目时,D 和 E 引用了 A、B 和/或 C,而不是 ABC。因此,当后来我尝试在其他项目中引用 ABC、D 和 E 时,我得到编译错误,例如:“实例参数:无法从 'A.IBoo' 转换为 'A.IBoo'”。当然,在 VS 中,我还可以看到程序集签名(名称)是不同的。
有什么好办法解决这个问题吗?
我知道我可能会使用发布商政策,但它并不漂亮。
另外,我知道我可以将项目合并到原始解决方案中并避免使用 ILmerge,但我不想这样做。
【问题讨论】:
标签: .net assemblies ilmerge