What′s New in dotPeek
This page outlines what has changed in recent versions of dotPeek.
This page outlines what has changed in recent versions of dotPeek.
We’ve added a new tooltip with the keyword description to the IL Viewer.
We’ve added the following:
A couple of updates for the metadata tree:
The Assembly Explorer adds the Dependencies node for NuGet packages and allows navigating to nuspec files by double-clicking the NuGet node.
dotPeek 2018.3 supports decompiling additional C# 7.x language features:
System.Enum
, System.Delegate
, and unmanaged
constraints.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.
dotPeek 2018.1 brings several improvements to decompile modern C# features. Now, dotPeek is able to decompile:
async Main
method.await
inside catch/finally
blocks.ref
/readonly
returns and locals.in
parameters.ref
/readonly
structs.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.
The Show PDB content action generates a readable XML file from PDB file for selected assembly. The resulting XML file contains:
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.
dotPeek 2017.2 brings a set of navigation and search improvements:
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.
dotPeek 2016.3 helps you explore assembly metadata and dig through all items (tables, blobs, strings, etc.) inside it. Under the Metadata node, you can explore values of blob items, PE file headers, usages of metadata table items.
Same as elsewhere in the assembly tree, you can double-click metadata items to decompile and display the corresponding code.
dotPeek 2016.2 can display the assembly dependency diagram, which extends the family of dependency analysis tools available in dotPeek and ReSharper.
You can invoke the diagram on selected assemblies in the Assembly Explorer and explore connections that are established between the assemblies by virtue of their references.
dotPeek 2016.2 improves its IL Viewer in order to display code in a more readable manner:
For a long time, opening .nupkg files from disk was the only way to load assemblies from NuGet packages.
In version 2016.1, there are now two more ways: you can find and load NuGet packages (and their dependencies if necessary) from any online package source, or load packages listed in a packages.config file in your Visual Studio project.
dotPeek learns to automatically highlight usages of the symbol under the caret.
Among other benefits, it is much harder now for obfuscated identifiers to get lost as easily in decompiled code.