2011-01-05 66 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; 
    } 

這樣,如果應用程序無法解析程序集的名字,它會調用一個解決您的處理程序,以發現它的

相關問題