普通のDLLは最終的に環境変数のPATHに書かれているところにあれば、Windowsのローダーが見つけてロードしてくれますが、.NET FrameworkのアセンブリDLLのロードについては、CLRは環境変数PATHを使用しません。
CLRは次の手順でロードすべきアセンブリを検索します。
- 構成ファイルのチェック。(<assemblyIdentity>)
- 前に参照したアセンブリの検索
- GACの検索
- .configの<codebase>, <probing>を使用する
まぁPATHは見てくれません。
詳しくはInside .NET Frameworkか以下のMSDNドキュメントにてご確認ください。
ランタイムがアセンブリを検索する方法
コメント
C# : CLRはPATHを探さない
素敵なエントリーの登録ありがとうございます – .NET Clipsからのトラックバック