2017-04-13 112 views
-1

我正在研究C#解決方案,我需要在解決方案中編譯項目,加載它的程序集並探究其類型。如何加載/卸載程序集?

我的問題是,一旦我加載程序集,我不能卸載它,所以我被迫關閉VS並重新打開它,如果我想重新編譯我正在探索的程序集。我讀過在不同的AppDomain中加載程序集可以解決我的問題,但是由於我失去了LoadFrom方法,我對自動加載依賴關係感興趣。

所以,我的問題是:我如何加載一個程序集的依賴關係,探索它的類型,然後卸載它?

+1

爲什麼你失去'LoadFrom'方法? – thehennyy

回答

0

我最終解決它的醜陋的方式:複製組件文件到臨時文件夾,並從那裏打開它。通過這種方式,我可以在不保持原始程序集打開的情況下進行探索,並在嘗試重新編譯時全面拋出錯誤。

感謝大家花時間幫忙。

2

如果您只是需要探索它而無法執行某些操作,則可以使用第三方(如Mono.Cecil)將您的程序集作爲數據讀取。