What′s New in dotPeek

This page outlines what has changed in recent versions of dotPeek.

Download dotPeek

Free, no license key required

Support for single-file applications

Support for records and record structs 2021.3

dotPeek provides initial support for record and record struct types. Support for the with expression for records, record structs, and structs is also available.

As for other C# features included in this release, the decompiler now supports asynchronous dispose (await using).

Extended support for single-file apps

Extended support for single-file apps 2021.3

We’re continuing to improve our support for reading and decompiling single-file apps:

  • You can see the content of bundled .json files – for example, the .runtimeconfig.json file.
  • You can view a list of all embedded files along with some technical information about the single-file app (header format version and ID) by clicking on the root node in the Assembly Explorer.
  • You can extract all the files to a folder (using the Extract Bundle Content to Folder action from the context menu) or one particular file from the bundle as an external file (using the Extract to File action in the context menu).
Support for single-file applications

Support for single-file applications 2021.2

Now dotPeek can decompile single-file apps. It also lets you browse through bundled assemblies inside a single-file app just like you are used to doing. It supports single-file formats for the .NET Core 3.1, .NET 5, and the upcoming .NET 6 SDKs.

Tab management

Tab management 2021.1

When working with several tabs at once, you can now pin them. Additionally, the color of a tab indicates the type of code you will see – green represents a metadata view and brown stands for sources from symbol files. The options to pin tabs and to color code them can be disabled in Tools | Options | Environment | Tabs.

Code Styles and Formatting

Code Styles and Formatting 2021.1

We’ve updated the formatter for decompiled code with a set of options to control how the code is presented. You can now set indent style and size, select whether the open brace should be placed on a new line, and if you’d prefer to use expression-bodied members. You can find them in Tools | Options | Decompiler | Code style and formatting.

C# support

Updates to C# Support 2020.3

  • Support for more C# features, including static local functions, attributes on local functions, and init-only setters.
  • Specifically for top-level statements, we’ve added a <Top-level Entry Point> node in Assembly Explorer. Though the node is synthetic, you can view its Properties, and also use double-click or context menu navigation to get to top level statements in decompiled code.
Private Source Link

Private Source Link 2020.3

Private Source Link is now supported in dotPeek: once you navigate to the external sources that require connection to a private source server, dotPeek will ask for your credentials. We offer support for GitHub, BitBucket, Azure and GitHub Enterprise; however this isn’t the complete list – the support mechanism is quite generic.

IL Viewer

Updates to IL Viewer 2020.3

New context highlighting for the custom attribute owner and improved highlighting for function exits.


Navigation 2020.3

  • The Locate in Metadata action is available for declarations and usages in source code or IL code, as well as for items in Assembly Explorer. You can find it in the navigation group of the context menu or main menu.
  • The Go To File Member action now retains external sources' navigation mode.

Presentation 2020.3

  • Assembly of origin is now displayed for *Ref tokens in the results of the Go to Metadata Token action.
  • If the containing type of a metadata token isn’t evident, it is now displayed in that token’s presentation in the Metadata Tree.
Improved NuGet support

Improved NuGet support 2020.2

This release brings better support for C# language features:

  • NuGet v3 package feeds are now supported in Open from NuGet, Open from NuGet packages cache, and Open NuGet packages.config.
  • Items with similar names are now collapsed in the Open from NuGet and Open from NuGet packages cache dialogs.
  • NuGet packages are sorted alphabetically.

C# support 2020.2

dotPeek continues to improve its support for the most recent versions of C#, and the new release brings:

  • Expression-bodied members.
  • Throw expressions.
  • Default parameters and named arguments.
  • NullablePublicOnly attribute.

Generate PDB 2020.2

The Generate PDB engine now infers and stores the tuple component names for local variables.

Nullable Reference Types support

Nullable Reference Types support 2020.1

This release brings better support for C# language features:

  • Support for nullable reference types (NRT) has come to the decompiler. Please note that this only works in declarations, not in the bodies of methods.
  • We’ve added support for decompiling the default members of interfaces and Auto-Implemented Property Field-Targeted attributes.
  • We’ve improved support for decompiling tuple component names.
IL Viewer

IL Viewer 2020.1

The Intermediate Language (IL) Viewer supports custom attributes for interface implementations and generic parameter constraints. For example, a compiler can apply a NullableAttribute and TupleElementNamesAttribute to these entities.

Download dotPeek

Free, no license key required