What's new in dotPeek
dotPeek 2024.3
The IL Viewer now provides IL code for assembly manifest, including:
Assembly and module info such as name, custom attributes, etc.
Referenced assemblies and modules.
Forwarded types.
A list of files and resources.
This IL code is also shown when the caret is in the code viewer on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.
Support for primary constructors — when a class declares a primary constructor, dotPeek displays the constructor and its parameters correctly, giving you a complete view of how objects are instantiated.
dotPeek 2024.2
Decompiler: default and params lambda parameters (C#12: Lambda optional and parameter-array parameters)
Decompiler: attributes on lambdas
Ability to decompile protected assemblies and ignore the
[SuppressIldasm]
attributeSupport of PDBs containing both SrcSrv and SourceLink
Get preprocessor directives (like
NET6_0_OR_GREATER
) for external source files from the target framework of associated assembly or from Portable PDB of associated assemblyAssembly Explorer: assembly build configuration detection and presentation
Ability to open the source code of the corresponding repository in the Web browser, for example, on GitHub.
dotPeek 2024.1
Ability to decompile .NET assemblies in the WebCIL packaging format support.
Dedicated tool window for the assembly diff.
dotPeek 2023.3
Assembly diff improvements: comparison of NuGet packages, folders, and archives; configurable diff modes; auto-detection of Beyond Compare, WinMerge, P4Merge, and Meld as diff tools.
Assembly Explorer window improvements: show all files and folders inside NuGet packages; show content size and type (file extension) Win32 resource nodes.
dotPeek 2023.2
Ability to compare two assemblies.
dotPeek 2022.3
Decompiler improvements: generic attributes,
static abstract
andstatic virtual
members in interfaces, user-defined checked operators, unsigned right-shift operator.
dotPeek 2022.2
Dedicated presentation features for ReadyToRun and NGen assemblies in Assembly Explorer window.
Decompiled high-level/low-level C# code in the IL Viewer.
dotPeek 2022.1
XML Doc comments for platform assemblies, including assemblies with names that differ from the names of the XML documentation files (for example
System.Private.CoreLib
).XML documentation in decompiled / metadata view file header.
Forwarded types in the Assembly Explorer window
Locate in Metadata action now also works for forwarded types, assembly/module references, and resources
Improved PDB navigation (sources from symbol files) for types without sequence points such as interfaces and enums.
Ability to disable retargeting in Metadata view navigation.
Metadata tree improvements: decoded + raw blob presentation in Properties window
By default, all new documents are displayed in the preview tab.
Improved UX for finding text in the current document (Ctrl+F).
dotPeek 2021.3
Decompiler improvements: support for async disposable, records, and record structs
Single-file/native support improvements:
Ability to open non-assembly bundled files and files inside the App Host node, for example .runtimeconfig.json.
Ability to extract bundle file entry to file and extract bundle content to folder
Assembly info for native app host (assembly info of corresponding managed assembly)
Bundle info for single-file app (list of embedded files, header format version, ID)
Reworked UI and a new shortcut Control+Alt+Shift+C for copying code references.
Highlighting of logical and conditional operators under the caret.
dotPeek 2021.2
Single-file apps support (executables published with the 'Produce single file' option, both self-contained and framework dependent) for .NET Core 3.0, .NET 5, and .NET 6 preview (bundle header version 1.0, 2.0, and 6.0).
Bundle header node inside Metadata subtree for single-file bundles.
Platform-specific executables (app host; 'Produce single file' false) can be added to the Assembly explorer. The corresponding managed assembly will be shown inside the app host node.
Async streams support (
async
iterators,await foreach
) are supported by the decompiler.
dotPeek 2021.1
Color coding of code viewer tabs according to their code presentation mode.
Code style options for decompiled code.
dotPeek 2020.3
Private Source Link support.
Decompiler improvements: Static local functions, top-level statements, attributes on local functions, readonly instance members on structs.
IL Viewer window: improvements in synchronization and context highlighting.
Assembly Explorer window: top-level entry point item (presentation, double-click/context menu navigation, properties).
Go to File Member in library code retains the presentation mode for external sources (decompiled code / code from symbol files / metadata view).
Metadata tree: add containing type info to presentation of metadata token nodes if this info is not evident.
Go To Metadata Token: improved item presentation (token; origin assembly for *Ref tokens).
A new action to locate symbols in metadata tree.
dotPeek 2020.2
Decompiler: support of expression-bodied members, throw expressions, default parameters, and named arguments.
Decompiler:
NullablePublicOnlyAttribute
support.
dotPeek 2020.1
Decompiler: improved tuple component names support.
Decompiler: nullable reference types (in declarations, not in method bodies).
Decompiler: default interface members.
Decompiler: field-targeted attributes for auto-implemented properties and field-like events.
IL View: support for custom attributes in interface implementations and generic parameter constraints (for example, the compiler can apply
NullableAttribute
andTupleElementNamesAttribute
to these entities).
dotPeek 2019.3
Decompilation of tuples, deconstruction, discards.
dotPeek 2019.2
Tooltips with keyword description in IL Viewer window
Go to File Member now also searches for textual matches in the current document.
Win32 resources subtree in Assembly Explorer window
Metadata tree improvements: description for unmanaged (win32) resources directories and entries (type, language), description for section headers.
dotPeek 2019.1
Metadata tree improvements:
Navigation to source from a document token node (portable pdb subtree).
Navigation to pdb content .xml from a portable pdb subtree root node.
Navigation to nuspec (double-click a nuget node in the Assembly Explorer window)
Dependencies node for NuGet package in the Assembly Explorer window.
dotPeek 2018.3
Local functions decompilation (C# 7.0)
Pattern matching decompilation: const pattern, type pattern, type patterns in the case clauses (predicates and discards are supported) (C# 7.0)
Decompilation of
System.Enum
,System.Delegate
and unmanaged constraints (C# 7.3)Decompilation of
fixed
fields indexing without pinning (C# 7.3)
dotPeek 2018.2
Search Everywhere can now successfully parse function signatures copied and pasted from dotTrace or Visual Studio’s Call Stack window for further searching.
Improved navigation to interfaces, enums, and any types that have no method implementations.
dotPeek 2018.1
Decompilation support for the following C# constructs:
Null-conditional (
?.
or?[]
) operatorsAwait in
catch
/finally
blocksIndexer (dictionary) initializers
Async
Main
Metadata tee improvements:
Metadata subtree (headers / directories) for files that are not supported by the decompiler.
Improved presentation and new filed descriptions in headers.
Absolute offsets for metadata tables, metadata table rows, heap items (the offsets are displayed in the Properties window).
File description (Version Info) for assemblies in the Properties window.
dotPeek 2017.3
Load assemblies from local NuGet package cache.
Explore assembly PDB contents in a readable XML file.
Source Link support in Windows PDB (earlier it only worked for Portable PDB).
dotPeek 2017.2
If any of the navigation and search commands results in multiple matches inside a single method, dotPeek now displays all of them in the search results .
The results of Search Everywhere Control+N now include occurrences of the search query in strings.
Improvements in Go to String Ctrl+Alt+T: search in attributes, better presentation, and navigation directly to the search query occurrence in long and multiline strings.
More features for Portable PDB in the Metadata tree.
Ability to retrieve assembly's original source code, which is referenced in the Portable PDB using Source Link.
Proper decompilation of
nameof()
.Improvements and fixes for displaying and navigating IL code.
dotPeek 2017.1
Ability to explore portable PDB metadata.
Portable PDB generation (Symbol Server, Generate PDB).
Filters in Search Everywhere.
dotPeek 2016.3
A new
Metadata
node in the Assembly Explorer helps explore assembly metadata.
dotPeek 2016.2
IL Viewer window improvements: when you place the caret at a code symbol or instruction, all usages of this item are highlighted; loops in your code can be distinguished by corresponding indents and comments.
dotPeek 2016.1
dotPeek automatically highlights usages of the symbol under the caret.
Extension methods rendered as instance methods in decompiled code.
dotPeek 10.0
Viewing intermediate language (IL) side by side with decompiled C# code.
Find Usages works asynchronously, letting you keep on working with the decompiler while it executes time consuming usage search in the background.
dotPeek supports the same set of color themes as that of Visual Studio with the ability to synchronize your color scheme preference with Visual Studio settings.
Usage-aware behavior of the Go to Declaration command.
dotPeek 1.4
Ability to decompile assemblies build with Roslyn
Ability to decompile the following C# 6.0 features: exception filters, auto-properties with initializers
Ability to display metadata tokens in the Assembly Explorer and as comments in decompiled code.
Ability to navigate to metadata tokens.
Go to String command now lets you find string literals in constant string fields and in default values of string parameters.
dotPeek 1.3
Navigate to Exposing API command that allows you to navigate from a type to all places in the currently loaded assemblies where you can get an instance of this type.
Go to String command.
Go to Action command that helps you quickly find and apply any of dotPeek's actions.
Ability to search preferences in the Options dialog
dotPeek 1.2
Ability to generate PDB files for .NET assemblies which were compiled with the
/debug
option.Process Explorer window that provides you with the list of currently running processes and allows exploring their modules and decompiling those of them that are .NET assemblies.
Project/PDB Generation Status window.
Search/filtering in the Assembly Explorer window, Hierarchy window, and Find Results window.
dotPeek 1.1
Decompiler improvements: Async methods and lambdas, System.Linq.Expressions, Field-like events
Ability to export assemblies to Visual Studio projects.