我有一个WPF程序集,我在本地代码的互操作场景中使用LoadFrom加载上下文,如下所示:
AppDomain.CreateInstanceFrom("c:\mydlls\mywpfstuff.dll", "myclass")
Run Code Online (Sandbox Code Playgroud)
请注意,mydlls与可执行文件所在的文件夹不同.这适用于我也加载的常规非ui .NET dll,但是当我尝试这样做时,我得到一个错误.我附加了AppDomain.CurrentDomain.AssemblyResolve事件处理程序并获取无法加载的事件.ResolveEventArgs中的Name是"mywpfstuff.resources",RequestingAssembly是空的.我没有名为"mywpfstuff.resources"的文件,也无法弄清楚如何解决这个问题.
触发错误的代码行是InitializeComponent(); 在我的主用户控件构造函数中调用.
在我看来,内部XAML(BAML?)机制试图加载一些资源,但使用标准的Load上下文而不是LoadFrom上下文.
有没有办法解决这个问题,最好是让WPF使用LoadFrom上下文,或者如果不可能如何手动解决程序集?