Castle中有一個 DynamicProxy類,用於動態產生一個給定類的派生類,實現AOP,該派生類默認只存在內存中,如果在編譯器的中添加條件編譯符號:PHYSICALASSEMBLY,可以同時將動態的產生的派生類保存在本地硬盤中,文件名為:GeneratedAssembly.dll,但是由於源碼ModuleScope的93行:return _assemblyBuilder.DefineDynamicModule(assemblyName.Name, true);,可能是作者沒有進行測試,將本應該寫成兩行的代碼一行完成,正確的編碼應改為:_moduleBuilder = _assemblyBuilder.DefineDynamicModule(assemblyName.Name, true); return _moduleBuilder ;並將後一句代碼放在條件編譯語句之後即可。
(注:源碼的版本是1.1.5.4333,不知道其他版本是否有這樣的問題)