web-dev-qa-db-ja.com

コードを逆コンパイルするためのVisual StudioまたはResharper拡張機能

アセンブリを逆コンパイルし、VSを離れてILSpyまたは他の「外部」リフレクションツールを使用する代わりに、特定のクラスのVisual Studioでコードを表示できるVisual Studio拡張機能を知っている人はいますか? Resharperにはリフレクションツールもありますが、VS内でそれを開始できればいいですね。

21
Logan G.

Resharperにはリフレクションツールもありますが、VS内でそれを開始できればいいですね。

あなたはできる。識別子にカーソルを合わせて、ReSharper | Navigate | Navigate To...を選択します(VSスキームのキーボードショートカットは Alt+`)、Decompiled Sourcesを選択します。

これは、スタンドアロンツールであるdotPeekと同じ逆コンパイルエンジンを使用します。

このような逆コンパイルされたソース内では、次のように、同じナビゲーション方法を使用して定義に従う必要があることに注意してください。 F12 または Ctrl+クリックすると、オブジェクトブラウザに戻ります。

27
AakashM

Visual Studio 2017の新しいバージョンには、 逆コンパイルされたソースへのナビゲーション と呼ばれる実験的な機能が含まれています。明示的に有効にする必要があります(Visual Studioを再起動します)が、一度有効にすると、コードが参照するアセンブリの逆コンパイルされたソースコードが表示されます。

たとえば、メソッドコールでメソッド名の上にキャレット(テキストカーソル)を置いて、 F12 (デフォルトでは)IDEに新しいタブが開き、そのメソッドの逆コンパイルされたソースコードが表示されます。Microsoftは、これは舞台裏でILSpyを使用していると述べていますが、これはより便利で、新しいものをインストールする必要はありません。

28
Joe Sewell

クラス/メソッドがフォーカスされているときにF12を押すデフォルトのショートカットキーを想定すると、参照を自動的に逆コンパイルするようにReSharperを設定できます。これはうまく機能し、外部アセンブリ参照がソースソリューションの他のクラスと同じであるかのように動作します。

enter image description here

new HttpClient()に焦点を当てた状態でF12を押すと表示されるソースの例

enter image description here

9

。NET Reflector を使用することをお勧めします。これには、アセンブリの逆コンパイル用の組み込みのVS統合があり、Resharperよりはるかに優れています。詳細については このページ をご覧ください。

6

http://ilspy.net/ は無料でオープンソースです。そして、Visual Studio用のプラグインがあります。

3
Andres