我正嘗試在我的控制檯應用程序中的新AppDomain中加載程序集A,該程序具有與默認域相同的基本目錄和RelativePath。CreateInstanceAndUnwrap無法加載程序集
當我使用CreateInstanceFrom從A創建一個類型時,它會成功,但是當我使用CreateInstanceAndUnwrap
時,它無法找到包含FileLoadException
的程序集文件。請記住,程序集A.MyType
在其構造函數中調用了程序集B.Typeb
中的方法。兩個組件的文件是存在於在執行組件的父文件夾相同的路徑(.. \ Mytypes)
_domain = AppDomain.CreateDomain("MyDomain" + Guid.NewGuid(), null, AppDomain.CurrentDomain.SetupInformation);
var mytype = _domain.CreateInstanceAndUnwrap(pathtoassembly, typename);
以下是錯誤消息:
無法加載文件或程序集」 .. \ Mytypes \ A.dll「或它的一個依賴關係。給定的程序集名稱或代碼庫無效。 (從HRESULT異常:0x80131047)`
'CreateInstanceAndUnwrap'將程序集名稱作爲第一個參數,而不是程序集的路徑。此外,路徑'.. \ MyTypes'位於應用程序基目錄之外,因此在探測程序集時不會使用它。 – 2013-04-08 15:54:46
你將不得不用你從Fuslogvw.exe得到的跟蹤來記錄你的問題。 – 2013-04-08 17:34:17