Das ist neu in dotPeek

Auf dieser Seite stellen wir Ihnen die neuesten Updates und Änderungen in dotPeek vor.

Neues „Assembly Diff“-Toolfenster

Verbesserte C#-13-Unterstützung und Lesbarkeitsoptimierungen 2025.1

Das Release 2025.1 setzt mehrere Verbesserungen im Decompiler um, erweitert die Unterstützung der neuesten C#-Sprachmerkmale und bietet eine leichter lesbare Codedarstellung. Das ist neu:

  • Unterstützung für required-Member.
  • Unterstützung für den in C# 13 eingeführten Typ System.Threading.Lock.
  • Unterstützung für ref-Felder und scoped-Parameter-Modifikatoren.
  • Unterstützung für die generische Anti-Einschränkung allows ref struct.
  • Musterbasierte using-Anweisungen für ref struct-Typen.
  • Unterstützung für die String-Interpolation.
  • Bestimmte Ganzzahlen-Konstanten im dekompilierten Code enthalten jetzt eine kommentierte hexadezimale Darstellung für eine bessere Lesbarkeit.
  • Unterstützung für dateiweite Namensräume.
Neues „Assembly Diff“-Toolfenster

IL-Code für Assembly-Manifest 2024.3

Das Toolfenster IL Viewer zeigt jetzt den IL-Code von Assembly-Manifesten inklusive folgender Informationen an:

  • Assembly- und Moduldaten wie Name, benutzerdefinierte Attribute usw.
  • Referenzierte Assemblies und Module.
  • Weitergeleitete Typen.
  • Datei- und Ressourcenliste.

Dieser IL-Code wird angezeigt, wenn sich die Einfügemarke im Texteditor auf einem Assembly- oder Modul-Attribut oder innerhalb der <AssemblyName>.cs-Datei einer externen Assembly befindet.

Unterstützung für Primärkonstruktoren 2024.3

Bei Klassen, die einen Primärkonstruktor deklarieren, zeigt dotPeek den Konstruktor und dessen Parameter jetzt korrekt an, sodass Sie direkt aus dem dekompilierten Code einen kompletten Überblick über die Instanziierung von Objekten erhalten.

Allgemeine Verbesserungen 2024.2

  • Lambda-Parameter: Wir haben Unterstützung für die Dekompilierung von Lambdas mit optionalen und Array-Parametern eingeführt, um die Lesbarkeit und Genauigkeit des dekompilierten Codes zu verbessern.
  • Lambda-Attribute: Das Tool bietet jetzt einen verbesserten Umgang mit den Attributen von Lambda-Ausdrücken, um sicherzustellen, dass alle relevanten Metadaten korrekt im dekompilierten Output enthalten sind.
  • Geschützte Assemblies: Sie können jetzt angeben, ob geschützte Assemblies dekompiliert werden sollen, um eine umfassendere Untersuchung des Codes zu ermöglichen.

Umgang mit externem Quellcode 2024.2

  • PDB mit SrcSrv und SourceLink: Der Decompiler unterstützt jetzt die Navigation zu Quellcode-Dateien aus PDB-Dateien, die sowohl SrcSrv- als auch SourceLink-Daten enthalten.
  • Präprozessoranweisungen: Der Decompiler erkennt jetzt Präprozessoranweisungen (wie NET6_0_OR_GREATER) aus dem Zielframework oder der Portable-PDB-Datei der jeweiligen Assembly korrekt und gewährleistet so eine richtige Darstellung des Codes.
  • Aktion Open in Browser: Sie haben jetzt die Möglichkeit, zum Quellcode eines Typs im Repository oder zum Repository eines NuGet-Pakets oder einer Assembly zu navigieren.

Erkennung der Buildkonfiguration 2024.2

Das Toolfenster Assembly Explorer erkennt und meldet jetzt die Buildkonfiguration von Assemblies und bietet dadurch einen besseren Einblick in den Kompilierungskontext der jeweiligen Assembly.

Neues „Assembly Diff“-Toolfenster

Neues Assembly Diff-Toolfenster 2024.1

Das Update 2024.1 führt das neue Assembly Diff-Toolfenster in dotPeek ein. Damit gehen einige Änderungen einher:

  • Die Vergleichsfunktion für Assemblies, NuGet-Pakete, Ordner und .zip-Archive wurde vom Assembly Explorer in das Assembly Diff-Toolfenster verlegt.
  • Der Diff-Moduswähler und die Schaltflächen Compare und Diff Options wurden in die Actions-Leiste des Assembly Diff-Toolfensters verlegt.
Unterstützung für das WebCIL-Paketformat

Unterstützung für das WebCIL-Paketformat 2024.1

dotPeek unterstützt jetzt das WebCIL-Paketformat für WebAssemblies. Die Unterstützung umfasst:

  • Dekompilierung für WebCIL.
  • Betrachtung von .wasm-Dateien im Assembly Explorer.
  • Metadaten-Unterstrukturen für WASM-Knoten im Assembly Explorer, einschließlich WASM- und WebCIL-Header.
Weitere C#-Sprachmerkmale

Verbesserungen bei Assembly-Diffs 2023.3

dotPeek 2023.3 kann NuGet-Pakete, Ordner und .zip-Dateien vergleichen.

Beim Vergleichen von Assemblies stehen jetzt mehr Vergleichsoptionen zur Verfügung. Sie können zwischen verschiedenen Diff-Modi wählen (Show all, Show only differences, Show only signature differences, Show only public API differences). Außerdem können Sie angeben, ob der Vergleich Unterschiede in der Reihenfolge der Member/Attribute sowie Unterschiede bei den Annotationen von nullfähigen Verweistypen ignorieren soll.

Weitere C#-Sprachmerkmale

Assembly Explorer aktualisiert 2023.3

  • Beim Untersuchen von NuGet-Paketen im Assembly Explorer können Sie jetzt alle Dateien und Ordner sehen, die in diesen Paketen enthalten sind.
  • Win32-Ressourcenknoten, einschließlich Größe und Typ (sofern diese bestimmt werden können), werden jetzt in der Knoten-Baumstruktur und im Properties-Fenster angezeigt.

Weitere Updates 2023.3

  • Ab sofort können Win32-STRINGTABLE-Ressourcen dekodiert werden.
  • dotPeek zeigt jetzt die Größen der geöffneten Dateien im Properties-Fenster an. Dies gilt für Assembly/Nicht-Assembly, Dateien in Bundles, Archiven, NuGet-Paketen, Assembly-Vergleichen und Win32-Ressourcen.
  • Assembly-Authenticode-Signaturen können jetzt validiert werden.
  • Explizite #nullable disable-Direktiven werden im dekompilierten Quellcode angezeigt.
Weitere C#-Sprachmerkmale

Assembly-Diffs 2023.2

dotPeek 2023.2 bietet die Möglichkeit, zwei Assemblies im Detail zu vergleichen. Diese Funktion ist besonders nützlich, wenn Sie die Unterschiede zwischen zwei Versionen einer bestimmten Assembly untersuchen möchten, etwa um potenzielle Sicherheitslücken zu finden, die in einer neueren Version eingeführt wurden.

Für weitere Informationen klicken Sie hier.

Toolfenster IL Viewer 2023.1

In Version 2023.1 von dotPeek wurden die folgenden Verbesserungen am IL Viewer-Toolfenster vorgenommen:

  • Für lokale Variablen in Low-Level- und High-Level-C#-Code werden jetzt dieselben Variablennamen wie im ursprünglichen Quellcode angezeigt, und für lokale Variablen in High-Level-Code zeigt der IL-Viewer darüber hinaus auch die originalen Tupelelement-Namen an.
  • Für lokale Variablendeklarationen in Intermediate-Language-Code (IL) werden kommentierte Tupelelementnamen vom PDB/Decompiler bereitgestellt.
  • Die Synchronisierung wurde verbessert für Feld- und Eigenschaftsinitialisierer, Anweisungen in Iteratoren, async-Methoden, Lambdas, lokale Funktionen sowie lokale Funktionen und verschachtelte lokale Funktionsdeklarationen in High-Level-C#.