dotPeek is a free-of-charge standalone tool based on ReSharper's bundled decompiler. It can reliably decompile any .NET assembly into equivalent C# or IL code.
The decompiler supports multiple formats including libraries (.dll), executables (.exe), and Windows metadata files (.winmd).
As soon as you've decompiled an assembly, you can save it as a Visual Studio project (.csproj). This can potentially save a lot of time if you need to restore lost source code from a legacy assembly.
dotPeek can identify local source code based on PDB files, or fetch source code from source servers such as Microsoft Reference Source Center or SymbolSource.
dotPeek can also perform as a symbol server and supply Visual Studio debugger with the information required to debug assembly code.
dotPeek inherits a lot of features from ReSharper. These include contextual and context-insensitive navigation, usage search, as well as different code structure and hierarchy views.
Use Find Usages to search for all usages of a symbol, be it a method, property, local variable or a different entity. The Find Results tool window lets you group usages, navigate between them, and open them in the code view area.
Whenever you put a caret on a symbol in the code view area, dotPeek offers a plethora of contextual navigation options that are all available via Navigate To drop-down menu.
dotPeek indexes all assemblies in your assembly list, as well as all assemblies that they reference, and provides features to quickly jump to specific code. For instance, Go to Everything allows searching for an assembly, namespace, type, member, or a recently opened file.
Long-time users of JetBrains ReSharper will feel at home working with dotPeek as it provides ReSharper-like navigation and search, code insight, and familiar keyboard shortcuts.
dotUltimate is a single license that allows a single developer to use these JetBrains tools:
dotUltimate license also covers plugins for dotCover and dotTrace in Rider.