Question

In my Java development I have had great benefit from the Jad/JadClipse decompiler. It made it possible to know why a third-party library failed rather than the usual guesswork.

I am looking for a similar setup for C# and Visual Studio. That is, a setup where I can point to any class or variable in my code and get a code view for that particular class.

What is the best setup for this? I want to be able to use the usual "jump to declaration/implementation" that I use to navigate my own code. It doesn't have to be free, but it would be a bonus if it was.

It should support Visual Studio 2008 or Visual Studio 2005 and .NET 2 and 3(.5).

Was it helpful?

Solution

Here is a good article about Reflector and how to integrate Reflector into Visual Studio.

Of particular interest is the Reflector.VisualStudio Add-In. This add-in, created by Jaime Cansdale, allows for Reflector to be hosted within Visual Studio. With this add-in, you can have Reflector integrated within the Visual Studio environment.

To get started, you will need to have the latest version of Reflector on your machine. Once you have downloaded Reflector, download the latest version of the Reflector.VisualStudio Add-In from http://www.testdriven.NET/reflector. The download contains a number of files that need to be placed in the same directory as Reflector.exe. To install the add-in, drop to the command line and run:

Reflector.VisualStudio.exe /install

After the add-in has been installed, you can start using Reflector from Visual Studio. You’ll notice a new menu item, Addins, which has a menu option titled Reflector. This option, when selected, displays the Reflector window, which can be docked in the IDE. Additionally, the add-in provides context menu support.

When you right-click in an open code file in Visual Studio, you’ll see a Reflector menu item that expands into a submenu with options to disassemble the code into C# or Visual Basic, display the call graph or callee graph, and other related choices. The context menu also includes a Synchronize with Reflector menu item that, when clicked, syncs the object browser tree in the Reflector window with the current code file.

OTHER TIPS

Try the open-source software http://ilspy.net/

The Scout plugin integrates Reflector with ReSharper, if you happen to use that tool.

ReSharper 6 (currently available for early access) supports decompiling in Visual Studio, with the entire ReSharper's navigation feature pack applicable to decompiled code. We have blogged about this some time ago.

I think dotPeek is best free Tools For Decompile C# code and .Net assembly

I don't think it can integrate with Visual Studio, but Reflector can disassemble .NET assemblies into a number of .NET languages, or show the IL.

Remotesoft's Salamander .NET decompiler doesn't integrate in Visual Studio, but it can generate Visual Studio .NET project files for easy recompilation. It's not free.

You can attach .NET Reflector to Visual Studio by simply using "Open with" on the DLL/EXE in the bin folder, and choosing Reflector (and set as default). Also, many tools (such as TestDriven.NET if I recall, and possibly ReSharper) provide a level of .NET Reflector integration.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top