Introducing the dotPeek 1.1 EAP

In our recent blog post on the ReSharper 8 EAP, we have mentioned certain improvements to the decompilation support. Today, we are happy to announce that the next version of dotPeek, our free decompiler, has also reached the EAP stage. Here are some of the features that you can try out today.

Export Assembly to Project

Many of you have asked us to add functionality for saving a decompiled assembly as a ready-to-build Visual Studio project. We have listened to your requests: now, if you right-click a decompiled assembly, you get the option to export it as a project:

All you need to do is provide the destination path and name of the project. You can also generate a solution (.sln) file if you need one.

The above generates a project (.csproj) file containing all the decompiled files. dotPeek is smart about creating projects – here are some of the optimizations it performs:

If PDB files are available, dotPeek restores the file and folder structure of the original project.

If the project has unsafe code, the project is configured to allow it.

The type of assembly is detected and the project is configured accordingly.

Incidentally, dotPeek also keeps track of your export history. If you try to export the project again, it will offer the following dialog:

Project File Support in Assembly Explorer

To make it easy to orient oneself in situations where parts of a solution exist only in compiled form and other parts exist as source code, dotPeek’s Assembly Explorer now supports Visual Studio projects (.csproj). You can automatically add the project to the Assembly Explorer after generating it from decompiled sources (see the Add project to Assembly Explorer checkbox in the above window):

Go to Everything

Just like ReSharper, dotPeek now uses Ctrl+T as the Go to Everything command, letting you navigate to either file, symbol or type within one menu:

Odds and Ends

Finally, here are a few more features that are available:

dotPeek now preserves window layout settings. It also keeps track of recently opened files.

Just like Visual Studio, dotPeek now lets you set bookmarks and navigate between them.

In addition to the MSI installer, dotPeek is now also available as a single executable file.

8 Responses to Introducing the dotPeek 1.1 EAP

@Tim
Right, no output to VB. We’re not actually into this task right now as we don’t see much demand for it.
You’re welcome to submit a feature request via dotPeek issue tracker, and if other users actively vote for VB.NET output to be implemented, we’ll consider this feature seriously.
Thanks!

Does it support various types of projects like Silverlight, Windows Phone 7 and 8, Windows Store (WinRT), etc?
Also how it handles async/await code? I’ve created some time ago WP7 app with AsyncCTP and lost source codes somehow. It would be great to have a possibility to disassemble it back into project.

@Martin
Async/await should be handled better starting with 1.1.
XAML is currently not supported in Export to Project functionality, making support for SL, WP7 and other XAML-based project types questionable. We’re hoping to fix that soon though.

I have tested dotPeek 1.0, Ilspy, JustDecompile and RedGate on executables with a high number code lines

RedGate = with minor edits the code is compilable and runnable, slow decompilations
JustDecompile(Q1 2013) = Goto statement oustide the scopes fest, pain in the ass to correct, fast decompilations
IlSpy = Many stuffs cannot be decompiled correctly, crashes
dotPeek 1.0 = Not usable even by extracting the files one per one in the cache

With the high success rate of RedGate and the powerful intergration in Visual studio for debugging exectuables without sources, Red Gate is by far #1 and I doubt dotPeek 1.1 is going to surpasse it

dotPeek 1.1 (I hope) will probable surpasse JustDecompile and IlSpy by far but certainly not RedGate.