爲了讓個人wcf模塊框架支持自定義通道上下文,對代碼又進行了一次小型的重構,測試時發現類型轉換的錯誤,最後發現是loadfrom引發的。若是向 loadfrom 上下文中加載了一個程序集,則將激活 loadfromcontext 託管調試助手 (mda)。由於默認時加載程序集是在defaul上下文的,因此就算是同一個程序集裏,因上下文不一樣,類型也不一樣了,因此轉換失敗。最後用assembly.loadfile來解決了此問題。框架
假設:jsp
a.dll 中有一個接口 interface a
b.dll 中有一個類實現了該接口 class b : a
c.exe 在程序內引用了a.dll測試
assembly.loadfile只載入相應的dll文件,好比assembly.loadfile("b.dll"),則載入b.dll,假如b.dll中引用了a.dll的話,a.dll並不會被載入。
assembly.loadfrom則不同,它會載入dll文件及其引用的其餘dll,好比上面的例子,a.dll也會被載入。.net
ps:補充閱讀:http://blog.csdn.net/guxiaoshi/article/details/5009604調試