2011-07-09 14 views
1

我想卸載一個自定義AppDomain,然後刪除在此AppDomain中加載的程序集(從硬盤)。我發現很多資源建議通過Assembly.Load(byte [])加載程序集。這樣做可以刪除文件,但是,我的代碼不使用這個加載的程序集。C#在不使用原始字節數組的情況下卸載AppDomain中的程序集

基本上我有兩個組件:A.DLL和B.DLL

A.DLL引用B.DLL,想調入B.DLL。

在我的自定義AppDomain中,我通過Assembly.LoadFrom加載了A.dll和B.dll。然後我調用A中的一個方法,它會自動調用加載的B.但是,在全局AppDomain中,A和B都已經加載,但是,在全局AppDomain中加載的B.dll的版本是與我想在自定義AppDomain中加載的不一樣。

使用Assembly.LoadFrom方法進行呼叫的正確版本乙

使用Assembly.Load(字節[])方法進行呼叫的版本B的這是在全球的AppDomain的。

我想要的是:將A.dll加載爲byte []並且B正確引用它,或者使用Assembly.LoadFrom加載A.dll,但能夠在卸載AppDomain後刪除它。

有沒有人有如何做到這一點的想法?

感謝, 基督教

回答

相關問題