|
.NET TIPS WPFアプリケーションに含まれるXAMLファイルの内容を確認するには?デジタルアドバンテージ 遠藤 孝信2008/11/13 |
![]() |
|
|
|
.NET Reflector*1を使えば、.NETで作成されたアプリケーションを逆コンパイルし、そのソース・コードを確認することができる。
| *1 現在の正式名称は「Red Gate's .NET Reflector」。本稿執筆時点の最新バージョンは「5.1.4.0」。.NET Reflectorについては「.NET Tools:.NET逆コンパイラとコードを難読化するDotfuscator」で解説している。 |
ただし、アプリケーションがWPFアプリケーションの場合、ユーザー・インターフェイスを定義しているXAMLのコードについては、単にBAML形式のリソース(バイナリ化されたXAMLファイル)として表示されるため、その内容までは確認できない(画面1)。
しかし、.NET Reflectorに「BAML Viewer」というアドイン(Add-In)を追加すれば、BAML形式のリソースを展開し、元のXAMLコードを確認することができるようになる。
以下の画面2は、実際にBAML Viewerを使って、WPFアプリケーションに含まれるXAMLのソース・コードを表示しているところだ。
![]() |
| 画面2 BAML ViewerによるXAMLコードの表示 |
本稿では、このBAML Viewerのダウンロードから起動までについて紹介する。
BAML Viewerのインストールと実行
.NET Reflectorについては、多くのユーザーによって、たくさんのアドインが開発されており、BAML Viewerもその1つである。アドインの多くは「.NET Reflector Add-Ins」に集められている(画面3)。
![]() |
| 画面3 CodePlex内にある.NET Reflector用アドインのページ |
ページ内のアドイン一覧から「BamlViewer」をクリックすると、BAML Viewerのページに移動する(画面4)。
![]() |
| 画面4 BAML Viewerのページ |
BAML Viewerのダウンロードは、「Reflector 5.0 Add-Ins」のページで、「BamlViewer.zip」のリンクをクリックする。
BamlViewer.zipをダウンロードしたら、これに含まれている「Reflector.BamlViewer.dll」を適当なフォルダ(Reflector.exeと同じフォルダなど)に展開する。
次に、.NET Reflectorを実行し、メニューの[View]−[Add-Ins]を選択して[Add-Ins]ダイアログ(画面5)を開き、[Add]ボタンをクリックして、いま展開した「Reflector.BamlViewer.dll」を追加する。そして[Close]ボタンにより[Add-Ins]ダイアログを閉じる。
![]() |
| 画面5 [Add-Ins]ダイアログで追加したBAML Viewerのアドイン |
| メニューの[View]−[Add-Ins]により開く。[Add]ボタンをクリックして、「Reflector.BamlViewer.dll」を追加する。 |
これでアドインの設定は完了だ。この状態でメニューの[Tools]を開くと、[BAML Viewer]という項目がメニュー末尾に追加されているはずだ(画面6)。
![]() |
| 画面6 [Tools]メニューに追加された[BAML Viewer] |
後はこの[BAML Viewer]を実行すれば、冒頭の画面2のような[BAML Viewer]ウィンドウが開き、BAML形式のリソースを選択することにより、その下にXAMLのコードが表示される。![]()
| 利用可能バージョン:.NET Framework 3.0以降 カテゴリ:WPF/XAML 処理対象:ツール |
|
||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -








