【发布时间】:2012-04-14 10:05:18
【问题描述】:
在我的项目中,我的依赖层次结构存在问题。我在我的代码中使用了一个库 (WriteableBitmapExtensions),并且我还有另一个也使用 WriteableBitmapExtensions 的第 3 方库。只有另一个库与特定的旧版本紧密相关,我的代码需要最新版本的功能。
这是对依赖项的描述:
有类似的问题和解决方案,但他们通过配置文件在运行时通过程序集绑定解决了这个问题,但我认为这与 Silverlight 应用程序不兼容。
Referencing 2 different versions of log4net in the same solution
Using different versions of the same assembly in the same folder
3rd party libraries refer to different versions of log4net.dll
How to deal with multiple versions of dependencies?
那么有没有办法在 Silverlight 上下文中解决这些不同版本的程序集依赖项?如果没有,我想我的选择是:
1) 很可能我可以说服第 3 方库的供应商更新以使用最新版本的 WriteableBitmapExtensions,但我不希望依赖他们保持最新。尤其是 WriteableBitmapExtensions 项目仍在更新中,我们经常利用它们的新功能。
2) 由于 WriteableBitmapExtensions 是开源的,我想我可以将它的源代码重新编译为一个新的程序集“MyWriteableBitmapExtensions”并在我的源代码中使用它。但是如果两个 3rd 方库引用不同版本的 WriteableBitmapExtensions,我会再次遇到这个问题。
我怀疑我会使用选项 2,但我想知道在我提交/重构之前是否有更好的方法(如其他问题中的运行时程序集绑定)。谢谢!
【问题讨论】:
标签: .net silverlight assemblies multiple-versions