dotPeek の新機能

dotPeek の新機能

このページでは、dotPeek の最新の更新と変更について詳しく説明します。

A new dedicated Assembly Diff tool window

強化された C# 13 のサポートと読みやすさのアップグレード 2025.1

2025.1 リリースでは、デコンパイラーにいくつかの改善が加えられ、最新の C# 機能のサポートが強化され、コードの可読性が向上しました。新機能は以下のとおりです。

  • required メンバーのサポート。
  • C# 13 で導入された新しい System.Threading.Lock タイプのサポートが追加されました。
  • ref フィールドと scoped パラメーター修飾子のサポート。
  • allows ref struct 汎用アンチ制約のサポート。
  • ref struct タイプ用のパターンベースの using
  • 文字列補間のサポート。
  • 逆コンパイルされたコード内の特定の整数定数には、読みやすさを向上させるためにコメント付きの 16 進表現が含まれるようになりました。
  • ファイルスコープの名前空間のサポート。
A new dedicated Assembly Diff tool window

アセンブリマニフェストの IL コード 2024.3

IL Viewer ツールウィンドウには、次のようなアセンブリマニフェストの IL コードが提供されるようになりました。

  • 名前、カスタム属性などのアセンブリおよびモジュールの情報。
  • 参照されるアセンブリとモジュール。
  • 転送されたタイプ。
  • ファイルとリソースのリスト。

この IL コードは、テキストエディターのキャレットがアセンブリまたはモジュール属性上にあるとき、または外部アセンブリの <AssemblyName>.cs ファイル内のどこかにあるときに表示されます。

プライマリコンストラクターのサポート 2024.3

プライマリコンストラクターを宣言するクラスを操作する場合、dotPeek はコンストラクターとそのパラメーターを正しく表示し、逆コンパイルされたコードからオブジェクトが直接インスタンス化される方法を完全に表示します。

一般的な機能強化 2024.2

  • ラムダパラメーター : オプションおよびパラメーター配列パラメーターを使用してラムダを逆コンパイルするサポートを導入し、逆コンパイルされたコードの可読性と正確性を向上させました。
  • ラムダの属性 : このツールでは、ラムダ式の属性の処理が改善され、関連するすべてのメタデータが逆コンパイルされた出力に正確に反映されるようになりました。
  • 保護されたアセンブリ : 保護されたアセンブリを逆コンパイルするかどうかを指定する機能が導入され、より包括的なコード探索が可能になりました。

外部ソースの取り扱い 2024.2

  • SrcSrv と SourceLink を使用した PDB : デコンパイラーは、SrcSrv と SourceLink の両方を含む PDB ファイルからのソースへの移動をサポートするようになりました。
  • プリプロセッサーディレクティブ : デコンパイラーは、ターゲットフレームワークまたは関連付けられているアセンブリのポータブル PDB からプリプロセッサーディレクティブ (NET6_0_OR_GREATER など) を正しく認識し、正確なコード表現を保証するようになりました。
  • ブラウザーで開くアクション: これで、型のリポジトリ内のソースコード、または NuGet パッケージまたはアセンブリのリポジトリに移動できるようになりました。

ビルド構成検出 2024.2

アセンブリエクスプローラーツールウィンドウでは、アセンブリのビルド構成を検出して表示できるようになり、アセンブリのコンパイルコンテキストに関するより明確な情報が得られるようになりました。

A new dedicated Assembly Diff tool window

新しい専用の 組立差分ツールウィンドウ 2024.1

2024.1 アップデートでは、dotPeek に新しい 組立差分ツールウィンドウが導入されます。これに伴い、いくつかの変更が行われます。

  • アセンブリ、NuGet パッケージ、フォルダー、.zip アーカイブを比較する機能が、 アセンブリエクスプローラーから 組立差分ツールウィンドウに移動されました。
  • 差分モードセレクターと 比較および 差分オプションボタンは、 組立差分ツールウィンドウの アクションバーに移動されました。
Support for WebCIL packaging format

WebCIL パッケージ形式のサポート 2024.1

dotPeek は、WebAssemblies の WebCIL パッケージ形式をサポートするようになりました。サポート対象は次のとおりです。

  • WebCIL 用の逆コンパイル。
  • アセンブリエクスプローラー.wasm ファイルを表示する機能。
  • WASM および WebCIL ヘッダーを含む、 アセンブリエクスプローラー内の WASM ノードのメタデータサブツリー。
More C# languages features

アッセンブリデフ改善 2023.3

dotPeek 2023.3 は、NuGet パッケージ、フォルダー、.zip ファイルを比較できます。

アセンブリを比較する機能に、より多くの比較オプションが追加されました。いくつかの差分モード ( すべて表示 相違点のみを表示 署名の違いのみを表示 パブリック API の相違点のみを表示 ) から選択できます。さらに、メンバー / 属性の順序の違いや、null 許容参照型のアノテーションの違いを diff で無視するかどうかを指定できます。

More C# languages features

アセンブリエクスプローラー2023.3 を更新する

  • アセンブリエクスプローラーで NuGet パッケージを探索すると、それらの NuGet パッケージ内に含まれるすべてのファイルとフォルダーを確認できるようになります。
  • Win32 リソースノードを、そのサイズとタイプ (決定できる場合) も含めて、ノードプレゼンテーションツリーと Properties ペインで表示できるようになりました。

その他のアップデート 2023.3

  • Win32 文字列テーブルリソースをデコードする機能が導入されました。
  • dotPeek は、アセンブリ / 非アセンブリ、バンドル内のファイル、アーカイブ、NuGet パッケージ、比較されたアセンブリ、Win32 リソースの Properties ペイン内に開いているファイルのサイズを表示するようになりました。
  • アセンブリの Authenticode 署名の検証が利用できるようになりました。
  • 明示的な #nullable disable ディレクティブは、逆コンパイルされたソースに表示されます。
More C# languages features

組立差分 2023.2

dotPeek 2023.2 は、2 つのアセンブリを詳細に比較する方法を提供します。この機能は、特定のアセンブリの 2 つのバージョン間の違いを詳しく調べたり、新しいバージョンに導入された可能性のある潜在的な脆弱性を検索したりする場合に特に役立ちます。

詳細については、ここをクリックを参照してください。

IL Viewer ツールウィンドウ 2023.1

dotPeek の 2023.1 バージョンには、IL Viewer ツールウィンドウの次の改善点が含まれています。

  • 元のソースと同様に、ローカル変数名が low-levelhigh-level C# コードの両方に使用され、high-level C# コードの変数タプル要素名が使用されるようになりました。
  • コメント付きのタプル要素名は、中間言語 (IL) コードでのローカル変数宣言のために PDB/ 逆コンパイラーからレンダリングされます。
  • フィールドとプロパティの初期化子、反復子内のステートメント、async メソッド、ラムダ、ローカル関数、ローカル関数、high-level C# のネストされたローカル関数宣言の同期が改善されました。