如果 A 引用程序集 B 1.1 和 C,而 C 引用 B 1.2,如何避免程序集冲突?
我很好地假设 C 的引用会被封装掉并且不会导致任何问题,但似乎所有的 dll 都被复制到了 bin 中,这就是问题发生的地方。
我了解解决此问题的两种方法是使用 GAC 或程序集绑定?GAC 对我来说似乎不是最好的方法,因为我不喜欢假设 dll 会在那里,我更喜欢在我的解决方案中从 lib 目录中引用 dll。
由于程序集绑定对我来说似乎不健壮,如果程序集的一个版本具有另一个版本没有的功能怎么办,这不会产生问题吗?
在我的情况下,因为我使用的是第 3 方 dll,它使用的是旧版本的 nHibernate,而不是我自己使用的。