dotPeek–JetBrains replaces .NET Reflector

Today I got e-mail from JetBrains stating that there is dotPeek early build available for download. dotPeek is .NET assemblies decompiler that is offered for free and that should replace .NET Reflector (not free anymore). dotPeek will also be part of ReSharper 6. In this posting I will give you brief introduction about dotPeek.

dotPeek in pictures

Here you can see dotPeek showing contents of DataRow class.

DataRow class in dotPeek

dotPeek is able to get sources from symbol files and decompiling the assembly.

dotPeek is able to get sources from symbol files

Symbol files are downloaded from Microsoft reference sources server.

Symbol files are downloaded from Microsoft reference sources server

One very cool feature I found is that you can search for class usages in loaded assemblies.

dotPeek find usages

Results are shown in separate pane and you can click nodes open to see where class is used.

My experience

dotPeek works smoothly and fine once it is loaded. UI is responsive and works fine. Although this is early version it is worth to try out because quality is high as always when JetBrain releases something. Some downsides I mentioned:

  • event for small amount assemblies (the ones shown by deafult) the memory consumption is about 150MB,
  • decompiling of classes seems to be slower than in .NET Reflector,
  • UI doesn’t let you know when it works on something (no notice on statusbar).

I think these problems will be solved when dotPeek is ready.

Conclusion

Making .NET Reflector paid product means that glory days of .NET Reflector are over. Competitors with very good skills are developing alternative free tools and I’m almost sure that .NET Reflector has no way back. dotPeek is very good example of market changes. There are nice new features like symbol stores support and I am sure that based on ReSharper experiences there will be more nice features that we will find from dotPeek in near future.


Leave a Reply

Your email address will not be published. Required fields are marked *