已經Unload的Domain其載入的組件如何變更?

  • 468
  • 0

摘要:已經Unload的Domain其載入的組件如何變更?

 

問題串發問於MSDN論壇

http://social.msdn.microsoft.com/Forums/zh-TW/be1e950e-6d3c-43ec-bbba-f0c60959d54a/unloaddomain

我整理出來有2個重點

1) 輸出的Dll名稱需手動改名,例名本來叫ABC.dll,可以手動改成ABC_V1.dll

(註:在屬性頁直接改輸出的組件名稱是沒有用的)

2) 改用appDomain.CreateInstanceFromAndUnwrap()

測試的Code, 執行WindowsFormsApplication1.exe中的Button1後,會跳出一個視窗,

接著關閉"跳出來的"視窗(主視窗不需要關閉),則ClassLibrary1_V1.dll就可以刪除了。

如此,我就可以將修改後的ClassLibrary1.dll再copy到執行檔的目錄底下,並改名成ClassLibrary1_V1.dll。

並再按下Button1,就會看到變更後的新視窗了。

 

測試方案

WindowsFormsApplication1.rar

DropBox下載

 

============ 以下是簽名檔 ============

一個小小螺絲釘。

第一次建立Blog,希望以後能慢慢充實它。

Howard