This page details the latest updates and changes in dotPeek.
Free, no license key required
The IL Viewer tool window now provides IL code for assembly manifest, including:
This IL code is shown when the caret in the text editor is on an assembly or module
attribute or somewhere inside an <AssemblyName>.cs
file for
external assemblies.
When working with classes that declare a primary constructor, dotPeek will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.
NET6_0_OR_GREATER
) from the target framework or
Portable PDB of the associated assembly, ensuring accurate code representation.
The Assembly Explorer tool window now detects and presents the build configuration of assemblies, providing clearer insights into the assembly’s compilation context.
The 2024.1 update introduces the new Assembly Diff tool window to dotPeek. There are a couple of changes that come with it:
.zip
archives has been moved from the Assembly Explorer to the Assembly Diff
tool window.
dotPeek now supports the WebCIL packaging format for WebAssemblies. The support covers:
.wasm
files in the Assembly Explorer.
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.
#nullable disable
directives are shown in decompiled sources.
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.
The 2023.1 version of dotPeek contains the following improvements for the IL Viewer tool window:
async
methods, lambdas, local functions, and local
functions and nested local function declarations for high-level C#.
dotPeek 2022.3 comes with support for:
static abstract
and static virtual
members in interfaces.checked
operators.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.
ngen
or
R2R
labels are now
displayed next to each assembly's name.
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.
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.
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.
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.
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).
We’re continuing to improve our support for reading and decompiling single-file apps:
.json
files – for example, the
.runtimeconfig.json
file.
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.
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.
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.
Free, no license key required