What′s New in dotPeek

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

Download dotPeek

Free, no license key required

More C# languages features

Assembly diff improvements 2023.3

dotPeek 2023.3 is able to compare NuGet packages, folders, and .zip files.

The ability to compare assemblies now has more comparison options. You can choose between several diff modes (Show all, Show only differences, Show only signature differences, Show only public API differences). Additionally, you can specify if you’d like the diff to ignore member/attribute order differences, as well as differences in nullable reference types’ annotations.

More C# languages features

Assembly Explorer updates 2023.3

  • When exploring NuGet packages in the Assembly Explorer, you’ll now be able to see all files and folders contained inside those NuGet packages.
  • Win32 resource nodes, including their size and type (if these can be determined), can now be viewed in the node presentation tree and the Properties pane.

Other updates 2023.3

  • The ability to decode Win32 string-table resources has now been introduced.
  • dotPeek now displays the sizes of open files inside the Properties pane for an assembly/non-assembly, files inside bundles, archives, NuGet packages, compared assemblies, and Win32 resources.
  • Assembly authenticode signature validation is now available.
  • Explicit #nullable disable directives are shown in decompiled sources.
More C# languages features

Assembly diff 2023.2

dotPeek 2023.2 provides a way to compare two assemblies in detail. This feature is especially useful when scrutinizing the differences between two versions of a specific assembly and searching for potential vulnerabilities that may have been introduced in a newer version.

Click here for more information.

IL Viewer tool window 2023.1

The 2023.1 version of dotPeek contains the following improvements for the IL Viewer tool window:

  • Local variable names will now be used for both low-level and high-level C# code and variable tuple element names for high-level C# code as in the original source.
  • Commented tuple element names will be rendered from the PDB/decompiler for local variable declarations in intermediate language (IL) code.
  • Synchronization has been improved for field and property initializers, statements inside iterators, async methods, lambdas, local functions, and local functions and nested local function declarations for high-level C#.
More C# languages features

More C# languages features 2022.3

dotPeek 2022.3 comes with support for:

  • static abstract and static virtual members in interfaces.
  • generic attributes.
  • user-defined checked operators.
  • unsigned right shift operator.
High-level and low-level C# code in IL Viewer

High-level and low-level C# code in IL Viewer 2022.2

There is now an option to view decompiled high-level and low-level C# code in the IL Viewer tool window. The decompiled code is still synced to the source code in the code editor.

ReadyToRun and NGen assemblies support in Assembly Explorer

ReadyToRun and NGen assemblies in Assembly Explorer 2022.2

  • The way ReadyToRun (R2R) and NGen assemblies are presented in the Assembly Explorer has been improved. A small processor symbol icon and ngen or R2R labels are now displayed next to each assembly's name.
  • The Metadata tree has the ReadyToRun header.
  • The Properties window has the ReadyToRun section.
Preview tab

Preview tab 2022.1

We introduced the ability to show files in a single Preview tab, as you are used to in Visual Studio. It helps when you are looking for something specific and don't want to keep these files open as separate tabs.

If you want to keep the file in a separate tab, click the Keep open icon on the Preview tab. To disable the Preview tab, go to Tools | Options | Tabs and select Allow new files to be opened in the preview tab.

Quick Find pane inside the text editor

Quick Find pane inside the text editor 2022.1

We moved the Quick Find feature from a separate tool window to the text editor tab. Now, when you call Quick Find (Ctrl+F) for a file, the Quick Find pane appears inside the text editor tab for the file.

We also added the F3 and Shift+F3 shortcuts, which allow you to quickly navigate to the next or previous occurrence when you are looking for something using the Quick Find pane.

XML doc comments

XML doc comments 2022.1

dotPeek now shows XML doc comments for platform assemblies, including assemblies whose names differ from the names of the XML documentation files, for example, System.Private.CoreLib. The path to the XML documentation is now displayed in the decompiled file’s header.

Updates to Assembly Explorer 2022.1

The Assembly Explorer now supports forwarded types (the TypeForwardedTo attributes). The Locate in Metadata action also works for forwarded types, assembly and module references, and resources.

Other updates 2022.1

  • We’ve turned off navigation retargeting in the Metadata view.
  • We’ve added decoded / raw blob presentations in the properties for blob nodes.
  • We’ve improved PDB navigation for types without sequence points, for example, interfaces and enums.
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.

Download dotPeek

Free, no license key required