Resolving/using multiple assembly versions from 3rd party dependencies

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 11:41:30

As I've said in my comment, Option 1 should be readily available because "v1" is actually a "pre beta" version.

If there is a delay in the 3rd party vendor releasing a build using a non-beta version, your Option 2 is your next option. Just make sure you use a completely new identity for your build of MyWriteableBitmapExtensions: specifically use a different AssemblyName, FileName, Strong Name Signature and any GUIDs used for identity, including for COM.

If you didn't need the new functionality or if the v2 was backward compatible with v1, assembly binding would still be the preferable option -- I haven't confirmed if this is available with Silverlight, but I'd be surprised if it wasn't though I now agree true assembly binding is probably unavailable in Silverlight because the whole System.Configuration namespace is missing from Silverlight (except for two enumerations in System.Configuration.Assemblies).

Nevertheless, another option is to adjust the latest source code so that it does produce something that is backward compatible to v1, perhaps breaking the v2 features if you have to -- in such a way the v2 features can still be used, just with a recompile, now with the original identity (AssemblyName, FileName, Strong Name Signature, etc.). Then you should be able to use the one assembly for both scenarios again.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!