我问了一个问题here,显然问题是我可以使用Reflection的Assembly.LoadFile
或Assembly.LoadFrom
加载一个程序集,并获得该程序集内的类型,程序集仍然没有可在整个应用程序中访问。因此,当WPF尝试解析类型时,它找不到该类型,因为它找不到程序集。
我的问题是,我可以在运行时引用程序集,以便它可以被WPF解析吗?
答案 0 :(得分:0)
适用于我的解决方案是处理CurrentDomain.AssemblyResolve
event
AppDomain.CurrentDomain.AssemblyResolve +=
new ResolveEventHandler(OnAssemblyResolveFailure);
Assembly OnAssemblyResolveFailure(object sender, ResolveEventArgs args)
{
AssemblyName name = new AssemblyName(args.Name);
Assembly assembly = .. //some logic here to load the assembly from assembly name
return assembly;
}
这样,如果应用程序无法解析程序集名称,它将调用您的处理程序来查找它