2012-02-02 72 views
2

我通過Assembly.LoadFrom加載一個程序集(A),它存儲在應用程序的基本路徑之外;我加載的程序集引用另一個.net程序集(B)在同一個目錄中。LoadFrom和上下文

當我嘗試使用A程序集的某些方法時,Fusion日誌顯示系統正在嘗試從應用程序基目錄而不是A.dll的父目錄加載B.dll。

我添加了一個偵聽器AppDomain.CurrentDomain.AssemblyResolve,被調用與發件人有消息說AppDomain「有沒有上下文的政策。」,而ResolveEventArgs.RequestingAssembly屬性設置爲null

不應該LoadFrom允許在其父目錄中搜索程序集的依賴項?

+2

不,不行,它不工作(不幸)。我有一個類似的問題,通過攔截默認/本地加載器將是有益的。 – leppie 2012-02-02 18:47:21

回答

3

是的,我認爲它應該,但leppie是正確的,它不。以下是有關assembly probing sequence的詳細MSDN文章。有幾次我有完全相同的問題,使用AssemblyResolve事件是唯一的方法。