troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

アセンブリバインドログビューア(Fuslogvw.exe)でアセンブリバインドの詳細表示

アセンブリバインドログビューア(Fuslogvw.exe)を利用するとアセンブリバインドの詳細を表示するとこができます。
したがって、Fuslogvw.exeを利用することにより、dllがみつからずに発生した例外時のトラブルシューティングに役に立ちます。

今回利用するサンプルアプリ
あるアプリ(fuslogvw_Test1.exe)を実行すると例外System.IO.FileNotFoundExceptionが発生してしまった状況を考えます。

表示される例外の情報よりMyLibraryが見つからなかったために発生した例外であることはわかりますが、システムはどこを探したのかがわかりません。以下fuslogvw.exeを利用して、この情報を確認する方法を記述します。
ちなみに、fuslogvw_Test1.exeのソースコードは以下です。
Main()でMyLibrary.dllに定義があるClass1を作成する単純なアプリです。
Main()のC#コード

using MyLibrary;
 
namespace fuslogvw_Test1
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 cl = new Class1();
        }
    }
}

MyLibraryのC#コードは以下です。

namespace MyLibrary
{
    public class Class1
    {
    }
}

すなわち、fuslogvw_Test1.exeにはMyLibrary.dllが必要でありMyLibrary.dllがないとSystem.IO.FileNotFoundExceptionが発生します。

Fuslogvw.exeのインストール
Fuslogvw.exeのインストールには2つの方法があります。
1. Visual Studio 2010のインストール
Visual Studioをインストールすると、スタートメニューに"Fusion ログ ビューアー"という項目ができます。

2. Windows SDKのインストール
Windows SDKをインストールすると、スタートメニューに"Fusion Log Viewer"という項目ができます。

Fuslogvw.exe実行例
1. Fuslogvw.exeを管理者権限で起動します。
起動後以下のような画面になります。

2. "設定"をクリックし、"バインドの失敗をディスクに記録する"を選択します。


3. MyLibrary.dllがない状態でサンプルアプリを実行し例外を発生させます。

4. "最新の情報に更新"をクリックします。

5. ログが表示されます。

6. 表示されたログをダブルクリックします。
以下のようなログが現れます。

上記のようにシステムが探そうとしたファイル名、探したパスが表示されます。
今回の場合は、上記の場所にMyLibrary.dllがなかったため例外が発生したことがわかります。

リンク
Fuslogvw.exe (Assembly Binding Log Viewer)
http://msdn.microsoft.com/en-us/library/e74a18c4.aspx
・ASSEMBLY PROBING, FUSION AND FUSLOGVW IN 5 MINUTES
http://bartdesmet.net/blogs/bart/archive/2006/10/23/Assembly-probing_2C00_-Fusion-and-fuslogvw-in-5-minutes.aspx


  1. 2012/05/23(水) 14:28:32|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Windows Azureのエミュレーション環境に他のコンピューターからアクセス | ホーム | [sos]!finalizequeue:Freachable キューの状態表示>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/57-8623fa72
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (23)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。