0
我问了一个问题here,显然问题是我可以使用Reflection的Assembly.LoadFile
或Assembly.LoadFrom
加载程序集,并在该程序集中获取类型,程序集仍然无法在整个应用程序中访问。所以当WPF试图解析一个类型时,它找不到该类型,因为它找不到该程序集。如何在运行时使外部组件可用?
我的问题是,我可以在运行时引用程序集,以便它可以被WPF解析?
我问了一个问题here,显然问题是我可以使用Reflection的Assembly.LoadFile
或Assembly.LoadFrom
加载程序集,并在该程序集中获取类型,程序集仍然无法在整个应用程序中访问。所以当WPF试图解析一个类型时,它找不到该类型,因为它找不到该程序集。如何在运行时使外部组件可用?
我的问题是,我可以在运行时引用程序集,以便它可以被WPF解析?
的作品对我来说是处理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;
}
这样,如果应用程序无法解析程序集的名字,它会调用一个解决您的处理程序,以发现它的
可能重复[如何添加类型从外部装配到工具箱控制? (WPF)](http://stackoverflow.com/questions/4594968/how-to-add-types-from-external-assembly-to-toolbox-control-wpf) – 2011-01-05 07:03:06
您尚未在此提供任何新的信息重复的问题。 – 2011-01-05 07:03:35
我没有发布重复的问题。我提出的问题更一般,所以也适用于不同的情况。 – 2011-01-05 07:07:12