⑴ vb.net編程,如何使用 appdomain 實現某進程DLL動態載入和卸載
由於你要求的是能夠動態的載入與卸載,所以這里選用了appdomain的load方法來載入一個程序集(同樣的,卸載的時候調用appdomain的靜態方法Unload即可).
另外由於,在appdomain.load的時候remoting會試圖將程序集序列化到defaultdomain中去,這會產生問題,通常以一個"FileNotFoundException"結束,因此採用了一種折中的辦法.
思路如下:
1.建立一個新的程序集,裡麵包含一個輕量的類型,這個類型只包含一個用來載入程序集的公共方法;
2.在你的主程序裡面,用appdomain.load來載入上一步的程序集,接著實例化上一步的輕量的類型;
3.而後就可以像操作通常的對象一樣,調用它上面的方法來載入你想要的程序集了;
源代碼已經打包發給你了, 你看看吧~ 如果有問題,再找我哈
⑵ vb.net引用Dll的問題
上級目錄不可以,但是為了保證程序路徑改變,引用不會被破壞。可以有幾個方法:
1.將DLL文件放在程序同級目錄
2.將DLL文件放在程序子目錄
3.將DLL文件放在System32目錄下(系統目錄,可以直接引用DLL)
4.可以將DLL文件打包成資源文件,融合到EXE程序中,每次執行判斷同級目錄是否有DLL文件,不存在,釋放資源文件。