亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將DLL加載到單獨的AppDomain中

將DLL加載到單獨的AppDomain中

桃花長相依 2019-12-02 13:05:30
我想動態加載一個或多個DLL,以便它們以與主應用程序不同的安全性或基本路徑運行。如何將這些DLL加載到單獨的AppDomain中并從中實例化對象?
查看完整描述

3 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

進一步來說


AppDomain domain = AppDomain.CreateDomain("New domain name");

//Do other things to the domain like set the security policy


string pathToDll = @"C:\myDll.dll"; //Full path to dll you want to load

Type t = typeof(TypeIWantToLoad);

TypeIWantToLoad myObject = (TypeIWantToLoad)domain.CreateInstanceFromAndUnwrap(pathToDll, t.FullName);

如果一切正常(沒有引發異常),您現在將TypeIWantToLoad實例加載到新域中。您擁有的實例實際上是一個代理(因為實際對象位于新域中),但是您可以像使用普通對象一樣使用它。


注意:據我所知,TypeIWantToLoad必須從MarshalByRefObject繼承。


查看完整回答
反對 回復 2019-12-02
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

您可以使用AppDomain.CreateInstance方法來執行此操作。您需要調用ObjectHandle的Unwrap方法,該方法將返回以獲取實際對象。


查看完整回答
反對 回復 2019-12-02
  • 3 回答
  • 0 關注
  • 961 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號