3
目前,我有這樣的代碼:從特定文件夾動態加載DLL?
var shellViewLibrary = Assembly.LoadFrom(Path.Combine(_DllsPath, _DllShellView));
IEnumerable<Type> types = shellViewLibrary.GetTypes();
foreach (Type type in types)
{
var typeIShellViewInterface = type.GetInterface(_NamespaceIShellView, false);
if (typeIShellViewInterface != null)
{
//here
}
}
的事情是,在那裏我得到//here
我想用Activator.CreateInstance
創建一個對象,其類型是在一個特定的文件夾type
(即外建立文件夾) 我試着約20個不同的東西,大多有這樣的:http://msdn.microsoft.com/en-us/library/d133hta4.aspx 但沒有作品... 我試圖典型的是:
object MyObj = Activator.CreateInstance(shellViewLibrary.FullName, type.FullName);
或
object MyObj = Activator.CreateInstance(Path.Combine(_DllsPath, _DllShellView), type.FullName);
我總是有不同的異常,最常見的是:
XamlParseException
我覺得,我不是在有兩個參數的正確方法使用Activator.CreateInstance。我該怎麼辦 ?
'XamlParseException'時出現了與XAML的分析錯誤發生。應該有一個內部異常,所以如果你圍繞這條線進行調試,你應該可以深入研究'XamlParseException'並查看它的來源。這聽起來像你可能錯過了你試圖加載的'Assembly'所需要的東西。 –
當我切換「Activator.CreateInstance」的參數時,我得到了同樣的錯誤,所以我真的覺得什麼是完全錯誤的:/ –
@GuillaumeSlashy我建議在嘗試捕獲和調試時包裝Activator.CreateInstance - 被捕的異常看着我和薩繆爾斯萊德所說的內在異常。在你的Q中有進一步的代碼,它似乎並沒有使用Activator或Assembly.Load是問題,而是由Activator實例化的控件使用的Xaml文件中的錯誤。創建實例 –