.NET TIPS

Visual Studio .NETからILDASMを起動するには?

デジタルアドバンテージ
2003/12/12

 Visual Studio .NET(以下VS.NET)には、C#やVisual Basic .NETで作成されたEXEファイルやDLLファイルのメタデータを表示したり、ILのコードへと逆アセンブルしたりできるツール「ILDASM(ildasm.exe)」が付属している。しかし、このツールを起動するにはWindowsのエクスプローラからildasm.exeをダブルクリックするなどして直接実行するしかない(ildasm.exeは実際には.NET Framework SDKに含まれるツールのため)。ここでは、ILDASMをVS.NETのIDE内から実行する方法を紹介する。

[ツール]メニューから起動

 VS.NETの[ツール]メニューには、VS.NETのインストール時にすでにいくつかの外部ツールが登録されており、選択して起動することができる。このメニューにILDASMの項目を追加し、同じようにメニューからildasm.exeを起動できるように設定できる。

 [ツール]メニューへの項目の追加は、同じ[ツール]メニューにある[外部ツール]を選択して行う。これを選択すると、次のような[外部ツール]ダイアログが表示される。ここで[追加]ボタンをクリックし、[タイトル]に適当な名称(ここでは「ILDASM」とした)、[コマンド]にはildasm.exeのフルパス名、[引数]には「$(TargetPath)」を入力して[OK]ボタンをクリックすればよい。

[外部ツール]ダイアログ
このダイアログは[ツール]メニューの[外部ツール]により開く。ここでILDASMに関する設定を追加しておけば、VS.NETでビルドしたEXEファイルなどを[ツール]メニューから直接ildasm.exeで開くことができるようになる。

 通常、ildasm.exeのフルパス名は次のようなものになっている(Visual Studio .NET 2003の場合)。

C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\ildasm.exe

 また、[引数]に入力する値は、ildasm.exeを起動するときにパラメータとして渡す値であり、ここに$(TargetPath)を指定した場合には、現在開いているプロジェクトの出力ファイルのフルパス名と置き換えられる。例えばWindowsアプリケーションを作成している場合には、$(TargetPath)はビルドによって作成されたEXEファイルのフルパス名となる。なお、この[引数]に入力する値はテキストボックスの右にある三角マークの付いたボタンをクリックして表示されるメニューからも選択でき、$(TargetPath)は[ターゲット パス]を選択したときに挿入される値である。

 以上の設定により、[ツール]メニューから[ILDASM]を選択するだけで、ビルドしたファイルをildasm.exeで開くことができるようになる。

 ちなみに、[引数]に$(TargetPath)ではなく、$(ItemPath)(三角マークの付いたボタンのメニューからは[項目のパス])を設定した場合には、ソリューション・エクスプローラで現在選択している項目をパラメータとしてildasm.exeを実行することができる。End of Article

カテゴリ:Visual Studio .NET 処理対象:IDE
 
この記事と関連性の高い別の.NET TIPS
Visual Studioで編集中のファイルを保存してから外部ツールで開くには?
Visual StudioのIDEからエクスプローラを起動するには?
Windowsアプリケーションの位置やサイズを保存するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH