微软与 C# 2012
我开发了一个应用程序,它使用 MEF 来互连从数据库加载的多个二进制程序集。它的一个单独的插件程序集依赖于不能包含在主应用程序中的第三方 DLL。当我在主应用程序的引用中包含该第三方 dll 时(插件也有引用),编译并运行它,然后应用程序运行顺利。但是当我从主应用程序的引用中删除该 DLL 时(实际上我不需要它,我只需要在插件的项目中引用它)并使用AppDomain.CurrentDomain.AssemblyResolve事件从数据库加载第三方 DLL 程序集,然后它运行正常,但稍后,在运行时,当插件尝试使用 XXX 类型(位于该第三方程序集中)时,应用程序引发异常,抱怨找不到主程序集中的 XXX 类型。我被困住了。
有谁知道是什么原因造成的?任何理智的解释将不胜感激。