使用Visual Studio集成的C#最佳(免费?)反编译器?

在我的Java开发中,我从Jad / JadClipse反编译器中获益匪浅 。 它使人们有可能知道为什么第三方库失败而不是通常的猜测。

我正在寻找C#和Visual Studio的类似设置。 也就是说,我可以指向代码中的任何类或变量并获取该特定类的代码视图。

什么是最好的设置? 我希望能够使用通常的“跳转到声明/实现”来导航我自己的代码。 它不一定是免费的,但如果是的话,它将是一个奖励。

它应该支持Visual Studio 2008或Visual Studio 2005和.NET 2和3(.5)。

这是一篇关于Reflector以及如何将Reflector集成到Visual Studio中的好文章。

特别感兴趣的是Reflector.VisualStudio加载项。 此加载项由Jaime Cansdale创建,允许将Reflector托管在Visual Studio中。 使用此加载项,您可以在Visual Studio环境中集成Reflector。

要开始使用,您需要在计算机上安装最新版本的Reflector。 下载Reflector后,从http://www.testdriven.NET/reflector下载最新版本的Reflector.VisualStudio加载项。 下载包含许多需要与Reflector.exe放在同一目录中的文件。 要安装加载项,请转到命令行并运行:

Reflector.VisualStudio.exe /install 

安装加载项后,您可以从Visual Studio开始使用Reflector。 你会注意到一个新的菜单项Addins,它有一个名为Reflector的菜单选项。 选择此选项后,将显示“reflection器”窗口,该窗口可以停靠在IDE中。 此外,加载项提供上下文菜单支持。

右键单击Visual Studio中的打开代码文件时,您将看到一个Reflector菜单项,该菜单项扩展为子菜单,其中包含将代码反汇编为C#或Visual Basic的选项,显示调用图或被调用者图以及其他相关内容选择。 上下文菜单还包括Synchronize with Reflector菜单项,单击该菜单项时,将Reflector窗口中的对象浏览器树与当前代码文件同步。

试试开源软件http://ilspy.net/

如果您碰巧使用该工具, Scout插件会将Reflector与ReSharper集成在一起。

ReSharper 6(目前可用于早期访问 )支持在Visual Studio中进行反编译,整个ReSharper的导航function包适用于反编译代码。 我们前段时间曾在博客上发表过这篇文章 。

我认为dotPeek是最好的免费工具,用于反编译C#代码和.Net程序集

我不认为它可以与Visual Studio集成,但Reflector可以将.NET程序集拆分为多种.NET语言,或显示IL。

Remotesoft的Salamander .NET反编译器没有集成到Visual Studio中,但它可以生成Visual Studio .NET项目文件以便于重新编译。 这不是免费的。

只需在bin文件夹中的DLL / EXE上使用“Open with”,然后选择Reflector(并设置为默认值),即可将.NET Reflector附加到Visual Studio。 此外,许多工具(如我记得的TestDriven.NET ,可能还有ReSharper)提供了一定级别的.NET Reflector集成。