我们为一个为.NET 3.5构建的软件创建了一个插件。在这个插件中,我们引用了适用于.NET 3.5的第三方.DLL。主要的软件现在已经构建到.NET 4.0和第三方.DLL已经被分成两个.DLL。程序集解析
我们想要避免的是有两个独立的解决方案,几乎完全相同的代码(一个构建到.NET 4.0引用4.0 DLL,一个构建到3.5引用3.5 DLL)。并非我们所有的客户都会升级到我们立即创建插件的最新版软件,有些人可能会等上几年。
问题EDITED:
有什么办法继续建立以.NET 3.5引用3.5 DLL,然后在运行时执行一些装配决心加载两个.NET 4.0的DLL的地方原来的一个?
我们希望/需要继续构建到3.5框架,以便主要软件的以前版本将继续加载我们的插件。如果我们构建到4.0,那么当尝试加载我们的插件时,旧版本会产生错误,因为它的构建到了后面的框架。
您是否真的尝试过这种方法?还是只是猜测可能存在问题?如果你这样做了,那么*正确*是错误信息? – 2012-04-02 17:26:00
当我尝试使用旧版本的软件加载4.0插件时,出现以下错误: 无法加载程序集。错误详细信息:System.BadImageFormatException:不能 加载文件或程序集file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll'或它的一个依赖关系。该程序集由比当前加载的运行时更新的 运行时构建,无法加载。 在System.Reflection文件名:'file:/// C:\ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll' 。 – 2012-04-02 17:51:06