dotPeek の新機能

dotPeekの新機能

このページは、最近のバージョンのdotPeekで何が変わったかを概説しています。ハイライトには、ポータブルPDBファイルとSourceLink、メタデータビューアアセンブリの依存関係図とナビゲーションの改善が含まれます。

ダウンロード(英語)
無料、ライセンスキー不要

メソッドの実装がない型のサポート2018.2

dotPeekは、インターフェース、列挙型、およびメソッドの実装を持たないすべての型へのより良いナビゲーションを取得します。ライブラリのPDBファイルがあっても、メソッド実装の型だけがPDBファイルのソースにマップされたパスを持つため、このような種類の情報はありません。さて、dotPeekは、カスタムアルゴリズムを使ってこれらのタイプのソースファイルを予測しようとします。疑わしいファイルがソースで利用可能な場合、このバージョンはデコンパイルされたものではなくエディタに表示されます。

モダンなC#のサポート2018.1

dotPeek 2018.1は、現代のC#機能を逆コンパイルするためのいくつかの改良をもたらします: 今、dotPeekは逆コンパイルが可能です:

  • 辞書初期化子。
  • null条件付き演算子。
  • async Main メソッド。
  • catch/finally ブロック内のawait
  • ref / readonly 戻り値とローカル変数。
  • in パラメータ。
  • ref / readonly 構造体。

NuGetパッケージキャッシュから開く2017.3

dotPeek 2017.3は、NuGetパッケージのキャッシュフォルダに格納されているNuGetパッケージを開くことができます。 オープンNugetからのアクションとは異なり、NuGetパッケージのキャッシュから開くはNuGetギャラリーからパッケージをダウンロードするのではなく、ローカルで使用可能なパッケージをすべて表示します。

Show PDB content

PDBコンテンツを表示する2017.3

PDBコンテンツを表示するアクションは、選択したアセンブリのPDBファイルから読み取り可能なXMLファイルを生成します: 結果のXMLファイルには、

  • ソース・ファイル名
  • ILオフセットとソースラインの間のマッピング。
  • ローカル変数の名前。
  • エントリポイントメソッド(存在する場合)。
  • import スコープ
  • PDBファイルの一種:Windows / Portable / Embedded。
  • PDB署名。
  • ソースサーバー情報:SourceLink / SrcSrv。

SourceLink形式のサポート2017.3

SourceLink(英語)は、アセンブリの元のソースコードに関する情報をPortable PDB(英語)およびWindows PDB形式に埋め込む新しい方法です。

dotPeekとReSharperはどちらもSourceLinkをサポートしています:逆アセンブルされたアセンブリが /sourcelink: <file> コンパイラフラグでコンパイルされ、source_link.jsonファイルが生成された場合、dotPeekはPDBで参照されるソースをダウンロードするか、

ナビゲーションと検索の改善2017.2

dotPeek 2017.2は、一連のナビゲーションと検索の改善をもたらします。

  • デコンパイルされたメソッド内で複数の使用箇所を検索し、検索結果ウィンドウを使用してそれらの間をナビゲートできます。
  • 文字列に移動するでは、属性内で定義された文字列リテラルを検索できます。コンパイルされたアセンブリ内の任意の文字列を検索し、それを直接ナビゲートします。
  • 長い文字列や複数行の文字列の表示が改善されています。このような文字列の部分文字列を検索すると、文字列の先頭にジャンプするのではなく、部分文字列の位置にナビゲートします。
Portable PDB support

ポータブルPDBのサポート2017.1

dotPeekは、Windowsのみの従来のPDBファイルだけでなく、Portable PDBファイルも生成できるようになりました。生成されたPDBのタイプは自動的に決定され、選択されたアセンブリに依存します。アセンブリメタデータと同じ方法で提示される、アセンブリに関連するポータブルPDBファイルの内容を探索することも可能です。最後に、ポータブルPDBファイルに埋め込まれたソースをナビゲーション目的で使用することができます。

Exploring assembly metadata with dotPeek

アセンブリメタデータの探索2016.3

dotPeek 2016.3は、アセンブリのメタデータを探索し、内部のすべてのアイテム(テーブル、ブロブ、文字列など)を調べるのに役立ちます。 メタデータノードの下では、BLOB項目の値、PEファイルのヘッダ、メタデータテーブル項目の使用箇所を調べることができます。

アセンブリツリーの他の場所と同じように、メタデータ項目をダブルクリックすると、対応するコードを逆コンパイルして表示できます。

Assembly dependency diagram

アセンブリ依存図

dotPeek 2016.2は、アセンブリ依存図を表示できます。これは、dotPeekおよびReSharperで使用可能な依存関係分析ツール(英語)ファミリを拡張します。

アセンブリエクスプローラで選択したアセンブリのダイアグラムを呼び出すことができ、その参照によってアセンブリ間に確立された接続を探索することができます。

Improved IL code viewer

改善されたILコードビューア

dotPeek 2016.2は、よりわかりやすくコードを表示するためにIL Viewerを改良しました:

  • 型、メンバ、型パラメータ、ローカル変数、メソッドパラメータ、ラベル、コメント付きメタデータトークンが自動的に強調表示されるようになりました。
  • インデントとコメントでループを区別できるようになりました。
Browsing NuGet packages with dotPeek

NuGetパッケージの閲覧

長い間、ディスクから.nupkgファイルを開くことは、NuGetパッケージからアセンブリをロードする唯一の方法でした。

バージョン2016.1では、さらに2つの方法があります。オンラインパッケージソースからNuGetパッケージ(および必要に応じて依存関係)を見つけてロードするか、Visual Studioプロジェクトのpackages.configファイルにリストされているパッケージをロードできます。

dotPeek highlights usages of symbol under the caret

シンボルの使い方のハイライト

dotPeekは、自動的にキャレットの下にあるシンボルの使用箇所を強調表示します。

他の利点の中でも、難読化された識別子が逆コンパイルされたコードのように簡単に失われるのはずっと難しくなります。

ダウンロード(英語)
無料、ライセンスキー不要