HOME >> Tips >> Microsoft.NET

ある モジュール が依存するモジュールを調べる方法

2016/4/9
文書番号:20495



.NET アプリケーションを実行した際、アプリケーションが参照しているdllが依存するモジュールが見つからなくてエラーが発生することがあります。

Visual Studio などの統合開発環境でも参照しているdllの依存するモジュールが存在しないことまでは感知しないので特にエラーにならず、ビルドも問題なくできてしまいます。
(ここで調べる方法があればどなたか教えてください)


そこで「Dependency Wolker」を利用して、モジュールが依存するモジュールをチェックしてみます。

【対応方法】

  1. Dependency Wolker をダウンロードします。

    Dependency Wolker の配布サイトへアクセスします。
    http://www.dependencywalker.com/
    クリックで拡大

  2. ページ中ほどまで移動し、「Download Version 2.2.6000 for x64」をダウンロードします。

    ※バージョン番号の表記はリリースに合わせて変わります。
    ※32bit環境で利用する場合は「Download Version 2.2.6000 for x86」をダウンロードします。

    クリックで拡大

  3. ダウンロードしたファイルを解凍します。

    クリックで拡大

  4. 解凍したフォルダ内にある「depends.exe」をダブルクリックで起動します。

    クリックで拡大

  5. Dependency Wolker が起動します。
    この画面内にチェックしたい dll をドラッグします。

    クリックで拡大

  6. Oracle のあるモジュールを参照したときの状態です。
    黄色の?マークがついているものは参照できていない状態を表しています。
    この状況では実行時エラーが発生する可能性が高いです。

    クリックで拡大

  7. もし存在するのに黄色の?マークがついている場合はそのディレクトリを指定すると参照できるようになります。
    メニューバーの「Option」から「Configure Module Order」を選択します。

    クリックで拡大

  8. 画面下部の「Browse...」からパスを選択するか直接パスを入力して「Add Directory」をクリックして設定します。
    その後、「OK」ボタンをクリックして画面を終了します。
    元の画面で「F5」キーでリフレッシュすると認識するようになりますが、それでも認識しない場合は環境変数の「Path」に設定すると認識すると思います。

    クリックで拡大