2011-12-25 46 views
4

我正在尋找一些允許反編譯.NET程序集以獲取源代碼的框架。使用Reflector API獲取反編譯源代碼

我知道Reflector提供某種類型的API來執行組件上的操作,當我使用它時,似乎我只取回IL指令而不是實際的源代碼。

我想要做的是設置某種智能未處理的異常處理程序,這將使我得到失敗的代碼行(用於內部調試目的)。

這可能使用Reflector API嗎?還有哪些其他工具可用於此目的?

+1

你在搜索時發現了什麼? – 2011-12-25 15:40:02

+0

我不知道我明白你的問題 - 搜索什麼? – 2011-12-25 16:04:05

+0

你真的想要一個框架嗎?有工具可以做到這一點(ILSpy/Reflector也可以做到這一點)。但是,如果代碼被混淆,這是另一回事。 – 2011-12-25 16:51:43

回答

3

我寫了幾篇文章,可能對您有所幫助。

http://www.simple-talk.com/dotnet/.net-framework/-.net-reflector-meets-the-codedom/談論創建你自己的語言反射器disagmeble到。這對於反射器將要拋出的行走語言結構很有用。

http://www.simple-talk.com/dotnet/.net-tools/hosting-.net-reflector-in-your-own-application/談論在您自己的代碼中使用API​​來託管Reflector。這將引導您完成訪問反射器中的API並訪問其邏輯的過程。

我希望這可以幫助您至少指出您獲得所需的方向。

2

你可以看看(開源)ILSpy。既然他們能夠做你需要的東西,他們也提供源代碼,你應該能夠以此爲起點。

+2

這是不可能完全用Reflector API做的嗎?我會檢查出ILSpy。 – 2011-12-25 16:03:33

-1

我不確定我明白你需要什麼,但如果你想運行時間約一個地方出現異常的信息,您可以使用在System.Diagnostics命名空間中的StackTraceStackFrame類中檢索從調用堆棧信息。但不幸的是,您不會以明文形式獲取源代碼。

+1

因此,我的問題。 – 2011-12-25 22:49:13