What′s New in dotPeek

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

Free, no license key required

Support for more C# 7 features 2019.3

dotPeek 2019.3 supports decompiling additional C# 7 language features:

  • Tuples.
  • Deconstruction.
  • Discards.

Support for symbol packages 2019.3

dotPeek can now navigate to the external sources of NuGet packages that have a source symbols package (.snupkg).

Updated Assembly Explorer 2019.2

We’ve added the following:

  • ‘Summary’ property on the “Properties” tab for nodes. It is available for types, interfaces, and other members that have a corresponding XML Doc.
  • An unmanaged (win32) resources subtree.

Metadata tree updates 2019.2

A couple of updates for the metadata tree:

  • a description for unmanaged resources directories and entries (type, language). 
  • a description for section’s headers.
New tooltip in the IL Viewer

IL Viewer update 2019.2

We’ve added a new tooltip with the keyword description to the IL Viewer.

Dependencies node for NuGet packages

Assembly Explorer update2019.1

The Assembly Explorer adds the Dependencies node for NuGet packages and allows navigating to nuspec files by double-clicking the NuGet node.

Support for more C# 7.x features 2018.3

dotPeek 2018.3 supports decompiling additional C# 7.x language features:

  • Local functions.
  • Pattern matching.
  • System.Enum, System.Delegate, and unmanaged constraints.
  • Indexing fixed fields does not require pinning.

Better support for types with no method’s implementation 2018.2

dotPeek gets better navigation to interfaces, enums, and any types that have no method implementations. Even if there is a PDB file for the library, there is no information about such kind of types, since only types with method implementations have paths mapped to sources in PDB files. Now, dotPeek tries to predict a possible source file for these types using a custom algorithm. If the suspected file is available in the sources, this version will be shown in the editor instead of the decompiled one.

Support for modern C# 2018.1

dotPeek 2018.1 brings several improvements to decompile modern C# features. Now, dotPeek is able to decompile:

  • dictionary initializers.
  • null-conditional operators.
  • async Main method.
  • await inside catch/finally blocks.
  • ref/readonly returns and locals.
  • in parameters.
  • ref/readonly structs.

Open from NuGet package cache 2017.3

dotPeek 2017.3 is able to open any NuGet package stored in the NuGet package cache folder. Unlike the Open from Nuget action, Open from NuGet Packages Cache does not download any package from NuGet gallery, but shows you all locally available ones.

Show PDB content

Show PDB content 2017.3

The Show PDB content action generates a readable XML file from PDB file for selected assembly. The resulting XML file contains:

  • Source file names.
  • Mapping between IL offsets and source lines.
  • Names of local variables.
  • Entry point method, if present.
  • Import scopes.
  • A type of PDB file: Windows/Portable/Embedded.
  • PDB signature.
  • Source server info: SourceLink/SrcSrv.

SourceLink format support 2017.3

SourceLink is a new way of embedding information about an assembly's original source code into the Portable PDB and the Windows PDB formats.

dotPeek and ReSharper now both support SourceLink: if a decompiled assembly was compiled with the /sourcelink: <file> compiler flag and the source_link.json file was generated, dotPeek will now download sources referenced in the PDB or use embedded source files when available.

Navigation and search improvements 2017.2

dotPeek 2017.2 brings a set of navigation and search improvements:

  • You can now search for multiple usages inside your decompiled methods, and use the Find Results window to navigate between them.
  • Go to String allows searching for string literals defined inside attributes. Search for any string in a compiled assembly and navigate to it directly.
  • Presentation of long and multiline strings is improved: when you search for a substring in such strings, dotPeek navigates to the substring position instead of jumping to the start of the string.
Portable PDB support

Support for Portable PDBs 2017.1

dotPeek can now generate not only traditional PDB files which are Windows-only, but also Portable PDB files. The type of the generated PDB is determined automatically and depends on the selected assembly. It is also possible to explore the contents of the Portable PDB file associated with the assembly which is presented in the same way as the assembly metadata. Finally, you can use sources embedded in Portable PDB files for navigation purposes.

Free, no license key required