dotPeek の新機能
dotPeek 2024.2
逆コンパイラー: デフォルトと params ラムダパラメーター(C#12: Lambda オプションおよびパラメーター配列パラメーター)
逆コンパイラー: ラムダの属性
保護されたアセンブリを逆コンパイルし、
[SuppressIldasm]
属性を無視する機能SrcSrv と SourceLink の両方を含む PDB のサポート
関連アセンブリのターゲットフレームワークまたは関連アセンブリのポータブル PDB から外部ソースファイルのプリプロセッサーディレクティブ (
NET6_0_OR_GREATER
など) を取得しますアセンブリエクスプローラー : アセンブリビルド構成の検出と表示
たとえば、GitHub 上の Web ブラウザーで対応するリポジトリのソースコードを開く機能。
dotPeek 2024.1
WebCIL パッケージ形式サポートで .NET アセンブリを逆コンパイルする機能。
アセンブリ差分専用のツールウィンドウ。
dotPeek 2023.3
組立差分の改善: NuGet パッケージ、フォルダー、アーカイブの比較。構成可能な差分モード。Beyond Compare、WinMerge、P4Merge、Meld を差分ツールとして自動検出します。
アセンブリエクスプローラーウィンドウの改善: NuGet パッケージ内のすべてのファイルとフォルダーを表示します。コンテンツのサイズとタイプ (ファイル拡張子) Win32 リソースノードを表示します。
dotPeek 2023.2
dotPeek 2022.3
逆コンパイラーの改善: 汎用属性、インターフェースの
static abstract
およびstatic virtual
メンバー、ユーザー定義のチェック演算子、符号なし右シフト演算子。
dotPeek 2022.2
アセンブリエクスプローラーウィンドウの ReadyToRun および NGen アセンブリ専用のプレゼンテーション機能。
逆コンパイルされた IL Viewer の高レベル / 低レベル C# コード。
dotPeek 2022.1
XML ドキュメントファイルの名前とは異なる名前のアセンブリ(
System.Private.CoreLib
など)を含む、プラットフォームアセンブリの XML ドキュメントコメント。逆コンパイルされた / メタデータビューファイルヘッダーの XML ドキュメント。
アセンブリエクスプローラーウィンドウで転送されるタイプ
メタデータで検索アクションは、転送されたタイプ、アセンブリ / モジュール参照、リソースでも機能するようになりました
インターフェースや列挙型などのシーケンスポイントのないタイプの PDB ナビゲーション(シンボルファイルからのソース)が改善されました。
メタデータビューナビゲーションでリターゲティングを無効にする機能。
メタデータツリーの改善: プロパティウィンドウでのデコードされた + 生の blob プレゼンテーション
デフォルトでは、すべての新しいドキュメントがプレビュータブに表示されます。
現在のドキュメント(Ctrl+F)でテキストを検索するための UX が改善されました。
dotPeek 2021.3
逆コンパイラーの改善: 非同期ディスポーザブル、レコード、レコード構造体のサポート
単一ファイル / ネイティブサポートの改善:
非アセンブリバンドルファイルおよび AppHost ノード内のファイル(.runtimeconfig.json など)を開く機能。
バンドルファイルエントリをファイルに抽出し、バンドルコンテンツをフォルダーに抽出する機能
ネイティブアプリホストのアセンブリ情報 (対応するマネージドアセンブリのアセンブリ情報)
単一ファイルアプリのバンドル情報 (埋め込みファイルのリスト、ヘッダー形式のバージョン、ID)
コード参照をコピーするための UI と新しいショートカット Control+Alt+Shift+C を作り直しました。
キャレットの下の論理演算子と条件演算子のハイライト。
dotPeek 2021.2
.NET Core 3.0、.NET 5、.NET 6 プレビュー(バンドルヘッダーバージョン 1.0, 2.0,, 6.0)の単一ファイルアプリのサポート(「単一ファイルの生成」オプションで公開された実行可能ファイル、自己完結型とフレームワーク依存の両方)。
単一ファイルバンドルのメタデータサブツリー内のバンドルヘッダーノード。
プラットフォーム固有の実行可能ファイル(アプリホスト ; '単一ファイルの生成' false)をアセンブリエクスプローラーに追加できます。対応するマネージアセンブリは、アプリのホストノード内に表示されます。
非同期ストリームのサポート(
async
イテレーター、await foreach
)は、逆コンパイラーによってサポートされます。
dotPeek 2021.1
コード表示モードに応じたコードビューアータブの色分け。
逆コンパイルされたコードのコードスタイルオプション。
dotPeek 2020.3
プライベートソースリンクのサポート。
逆コンパイラーの改善: 静的ローカル関数、トップレベルステートメント、ローカル関数の属性、構造体の読み取り専用インスタンスメンバー。
IL Viewer ウィンドウ : 同期とコンテキストのハイライトの改善。
アセンブリエクスプローラーウィンドウ : トップレベルのエントリポイントアイテム(プレゼンテーション、ダブルクリック / コンテキストメニューナビゲーション、プロパティ)。
ライブラリコードのファイルメンバーに移動は、外部ソース(逆コンパイルされたコード / シンボルファイルからのコード / メタデータビュー)の表示モードを保持します。
メタデータツリー : この情報が明らかでない場合は、メタデータトークンノードの表示に含まれる型情報を追加します。
メタデータトークンに移動 : 改善されたアイテム表示(トークン ; * Ref トークンのオリジンアセンブリ)。
メタデータツリーでシンボルを見つけるための新しいアクション。
dotPeek 2020.2
デコンパイラー: 式本体のメンバー、スロー式、デフォルトのパラメーター、名前付き引数のサポート。
逆コンパイラー:
NullablePublicOnlyAttribute
のサポート。
dotPeek 2020.1
逆コンパイラー: タプルコンポーネント名のサポートが改善されました。
逆コンパイラー: null 許容参照型(メソッド本体ではなく宣言内)。
デコンパイラー: デフォルトのインターフェースメンバー。
デコンパイラー: 自動実装されたプロパティおよびフィールドのようなイベントのフィールドターゲット属性。
IL ビュー: インターフェース実装および汎用パラメーター制約でのカスタム属性のサポート(たとえば、コンパイラーはこれらのエンティティに
NullableAttribute
およびTupleElementNamesAttribute
を適用できます)。
dotPeek 2019.3
タプルの逆コンパイル、脱構築、破棄。
dotPeek 2019.2
IL Viewer ウィンドウのキーワードの説明を含むツールチップ
ファイルメンバーに移動は、現在のドキュメント内のテキスト一致も検索するようになりました。
アセンブリエクスプローラーウィンドウの Win32 リソースサブツリー
メタデータツリーの改善: 管理されていない(win32)リソースディレクトリとエントリ(タイプ、言語)の説明、セクションヘッダーの説明。
dotPeek 2019.1
メタデータツリーの改善点:
ドキュメントトークンノード(ポータブル pdb サブツリー)からソースへのナビゲーション。
ポータブル pdb サブツリールートノードから pdb コンテンツ .xml へのナビゲーション。
nuspec へのナビゲーション ( アセンブリエクスプローラーウィンドウで目的のノードをダブルクリック)
アセンブリエクスプローラーウィンドウの NuGet パッケージの依存関係ノード。
dotPeek 2018.3
ローカル関数の逆コンパイル (C# 7.0)
パターンマッチング逆コンパイル: case 句内の const パターン、型パターン、型パターン (述語と破棄はサポートされています) (C# 7.0)
System.Enum
、System.Delegate
、管理されていない制約の逆コンパイル (C# 7.3)ピン留めなしの
fixed
フィールドインデックスの逆コンパイル (C# 7.3)
dotPeek 2018.2
dotPeek 2018.1
次の C# 構成要素の逆コンパイルサポート:
無条件(
?.
または?[]
)演算子catch
/finally
ブロックで待つインデクサ(辞書)イニシャライザー
非同期
Main
メタデータティーの改善点:
デコンパイラーでサポートされていないファイルのメタデータサブツリー(ヘッダー / ディレクトリ)。
ヘッダーのプレゼンテーションと新しいファイル記述の改善。
メタデータテーブル、メタデータテーブル行、ヒープアイテムの絶対オフセット(オフセットはプロパティウィンドウに表示されます)。
プロパティウィンドウのアセンブリのファイル記述(バージョン情報)。
dotPeek 2017.3
読み取り可能な XML ファイルでアセンブリ PDB の内容を調べます。
Windows PDB のソースリンクサポート(以前は Portable PDB のみで動作していました)。
dotPeek 2017.2
ナビゲーションコマンドと検索コマンドのいずれかが単一のメソッド内で複数の一致をもたらす場合、dotPeek はそれらのすべてを検索結果に表示するようになりました。
どこでも検索 Control+N の結果には、文字列に検索クエリの出現が含まれるようになりました。
文字列に移動する Ctrl+Alt+T の改善: 属性の検索、表示の改善、長い複数行の文字列の検索クエリの出現箇所への直接ナビゲーションが可能になりました。
メタデータツリーのポータブル PDB のための多くの機能。
ソースリンク(英語)を使用してポータブル PDB(英語) で参照されるアセンブリの元のソースコードを取得する機能。
nameof()
の適切な逆コンパイル。IL コードの表示と移動の改善と修正。
dotPeek 2017.1
どこでも検索のフィルター。
dotPeek 2016.3
アセンブリエクスプローラーの新しい
Metadata
ノードは、アセンブリメタデータの探索に役立ちます。
dotPeek 2016.2
IL Viewer ウィンドウの改善: コードシンボルまたは命令にキャレットを置くと、この項目のすべての使用箇所がハイライトされます。コード内のループは、対応するインデントとコメントによって区別できます。
dotPeek 2016.1
dotPeek は、キャレットにあるシンボルの使用箇所を自動的にハイライトします。
デコンパイルされたコードのインスタンスメソッドとしてレンダリングされる拡張メソッド。
dotPeek 10.0
中間言語の表示 (IL) と逆コンパイルされた C# コードが並んでいます。
使用箇所の検索は非同期で動作し、逆コンパイル時にバックグラウンドで時間のかかる使用状況の検索を実行しながら作業を続けることができます。
dotPeek は、Visual Studio と同じカラーテーマセットをサポートしており、カラースキームの設定を Visual Studio の設定と同期させることができます。
Go toDeclaration コマンドの使用状況を意識した動作。
dotPeek 1.4
Roslyn を使用してアセンブリをデコンパイルする機能
次の C# 6.0 の機能をデコンパイルする機能: 例外フィルター、初期化子を使用した自動プロパティ
文字列に移動するコマンドを使用すると、定数文字列フィールドと文字列パラメーターのデフォルト値で文字列リテラルを見つけることができます。
dotPeek 1.3
Exposing API に移動するコマンドを使用すると、タイプからこのタイプのインスタンスを取得できる現在ロードされているアセンブリのすべての場所に移動できます。
文字列に移動するコマンド。
アクションに移動コマンドを使用すると、dotPeek のアクションをすばやく見つけて適用できます。
オプションで設定を検索する機能ダイアログ
dotPeek 1.2
/debug
オプションでコンパイルされた .NET アセンブリ用の PDB ファイルを生成する機能。プロセスエクスプローラーウィンドウは、現在実行中のプロセスのリストを提供し、モジュールの探索と .NET アセンブリであるプロセスの逆コンパイルを可能にします。
プロジェクト /PDB 生成ステータスウィンドウ。
アセンブリエクスプローラーウィンドウ、階層ウィンドウ、検索結果ウィンドウの検索 / フィルタリング。
dotPeek 1.1
デコンパイラーの改善点: 非同期メソッドとラムダ、System.Linq.Expressions、フィールドのようなイベント
関連ページ:
アセンブリエクスプローラーウィンドウ
dotPeek のメインナビゲーションウィンドウであるアセンブリエクスプローラーを使用すると、複数のアセンブリを開いたり、開いているアセンブリとフォルダーのリストを保持したりできます。開いているすべてのアセンブリをトラバースして探索できます。アセンブリノードを展開すると、アセンブリ内の名前空間が一覧表示されます。名前空間は、タイプとタイプメンバー、およびアセンブリ参照、リソース、メタデータにさらに展開できます。任意のタイプをダブルクリックして逆コンパイルしたり、シンボルサーバーからソースをフェッ...
アセンブリ、NuGet パッケージなどを比較する
dotPeek を使用すると、2 つのアセンブリ、NuGet パッケージ、アーカイブ、フォルダーを比較できます。各比較は、専用のアセンブリ差分ツールウィンドウの最上位ノードとして表示されます。このノードを展開してアセンブリ構造の違いをすぐに確認できるほか、型、メンバー、その他の要素をダブルクリックして、指定した差分ツールでテキストベースの比較を表示することもできます。比較の開始以下のいずれか 1 つを実行します: メインメニューからを選択します。アセンブリエクスプローラー内のアセンブリ、NuGe...
高レベルおよび低レベルの C# コードを表示する
ソースコードを簡素化するための機能が新しい C# バージョンに追加されるほど、内部で生成されるコンパイラー生成コードが増えます。dotPeek を使用すると、コードビューアーの元のバージョンと、IL Viewer ウィンドウのさまざまなレベルの構文シュガーを使用した C# の両方を、適切な同期と同時に使用して違いを調べることができます。ドキュメントの低レベルまたは高レベル C# を表示する以下のいずれか 1 つを実行します: コードビューアーの任意の場所を右クリックし、を選択します。次に移動を呼び...
アセンブリとポータブル PDB メタデータを調べる
dotPeek は、アセンブリメタデータを探索し、その中のすべてのアイテム(テーブル、ブロブ、文字列など)を掘り下げるのに役立ちます。すべてのメタデータ項目は、アセンブリエクスプローラーウィンドウの各アセンブリに表示されるノードに分類されたツリービューで表示されます。このノードの注目すべき機能は次のとおりです。メタデータテーブル項目の使用箇所を自動的に検索して表示します。ブロブ項目の値のデコードと表示。ダブルクリックすると、メタデータ項目に対応するコードが逆コンパイルおよび表示されます。PE フ...
次に移動: メタデータビュー
このコマンドを使用すると、ライブラリシンボルのメタデータから再構築された型とメソッドのシグネチャーに移動できます。メタデータビューは、読み取り専用モードで部分的に再構築されたソースファイルとしてコードビューアーに表示されます。関連するすべての dotPeek のナビゲーションコマンドは、このビューで利用できます。このコマンドは、ソースコード内のライブラリシンボルおよび逆コンパイルされたソースに対して次に移動を呼び出すと使用可能になります。このコマンドは、アセンブリエクスプローラー、ファイル構造ウ...
コードビューアータブ
dotPeek は、ソースコードと逆コンパイルされたコードを複数のタブに表示し、さまざまなアセンブリのさまざまな側面を同時に調査できます。タブは色分けされており、コンパイルされたコードのさまざまな表示モードを表します。プレビュータブ:デフォルトでは、dotPeek はプレビュータブで新しいドキュメントを開きます。このタブでは、新しいドキュメントを開くまで、開いているドキュメントのみが保持されます。プレビュータブは右側に特別なアイコンで表示されます。このアイコンをクリックすると、タブを開いたまま...