.NET 世界中管理导致版本冲突的传递依赖项的最佳实践是什么?
详细说明:项目 A 依赖于项目 B,而项目 B 又依赖于库 C
还
项目 A 还依赖于项目 X,项目 X 依赖于库 C 的不同且(可能)不兼容的版本。
A->B->Cv1.0
&
A->X->Cv2.0
其中
Cv1.0 <> Cv2.0
有没有办法使这项工作?
可以在不使用 GAC 的情况下完成吗?
即使 B 和 X 仅是二进制格式(源不可访问),也可以这样做吗?
换句话说,有没有一种方法可以让项目 B 和 X 在项目 A 中一起使用时各自使用它们自己的依赖项,而不会引起冲突。
注意:我意识到理想情况下我根本不应该有这个问题,但是随着对外部库的依赖扩大,这将是一个不可避免的副作用。所以我想知道它应该如何最好地处理它。