使用Reflector API获取反编译的源代码

时间:2011-12-25 15:36:05

标签: c# .net reflector .net-reflector

我正在寻找一些允许反编译.NET程序集以获取源代码的框架。

我知道Reflector提供某种API来对程序集执行操作,当我使用它时,我似乎只能获取IL指令而不是实际的源代码。

我想要做的是设置一些智能的未处理异常处理程序,这将使我失败的代码行(用于内部调试目的)。

使用Reflector API可以实现吗?为此目的还有哪些其他工具?

3 个答案:

答案 0 :(得分:3)

我写了几篇可能对你有所帮助的文章。

http://www.simple-talk.com/dotnet/.net-framework/-.net-reflector-meets-the-codedom/谈论为Reflector创建自己的语言以解散。这对于Reflector将要使用的步行语言结构非常有用。

http://www.simple-talk.com/dotnet/.net-tools/hosting-.net-reflector-in-your-own-application/讨论了在自己的代码中托管Reflector以使用API​​。这将指导您完成在反射器中访问API并访问其逻辑的过程。

我希望这有助于至少指明你获得所需的方向。

答案 1 :(得分:2)

您可以查看(开源)ILSpy。由于他们能够满足您的需求并且他们也提供源代码,因此您应该能够将此作为起点。

答案 2 :(得分:-1)

我不确定我是否理解您的需求,但如果您想获得有关发生异常的位置的运行时信息,则可以使用{{1}中找到的StackTraceStackFrame类} namespace从调用堆栈中检索信息。但遗憾的是,您不会以明文形式获取源代码。