我正在寻找一些允许反编译.NET程序集以获取源代码的框架。
我知道Reflector提供某种API来对程序集执行操作,当我使用它时,我似乎只能获取IL指令而不是实际的源代码。
我想要做的是设置一些智能的未处理异常处理程序,这将使我失败的代码行(用于内部调试目的)。
使用Reflector API可以实现吗?为此目的还有哪些其他工具?
答案 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}中找到的StackTrace
和StackFrame
类} namespace从调用堆栈中检索信息。但遗憾的是,您不会以明文形式获取源代码。