2011-01-05 65 views
0

我问了一个问题here,显然问题是我可以使用Reflection的Assembly.LoadFileAssembly.LoadFrom加载程序集,并在该程序集中获取类型,程序集仍然无法在整个应用程序中访问。所以当WPF试图解析一个类型时,它找不到该类型,因为它找不到该程序集。如何在运行时使外部组件可用?

我的问题是,我可以在运行时引用程序集,以便它可以被WPF解析?

+0

可能重复[如何添加类型从外部装配到工具箱控制? (WPF)](http://stackoverflow.com/questions/4594968/how-to-add-types-from-external-assembly-to-toolbox-control-wpf) – 2011-01-05 07:03:06

+0

您尚未在此提供任何新的信息重复的问题。 – 2011-01-05 07:03:35

+0

我没有发布重复的问题。我提出的问题更一般,所以也适用于不同的情况。 – 2011-01-05 07:07:12

回答

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; 
    } 

这样,如果应用程序无法解析程序集的名字,它会调用一个解决您的处理程序,以发现它的

相关问题