2009-06-05 15 views

答えて

4

.NETアセンブリは、通常のウィンドウが.dllをより異なる検索順序を持っています。アセンブリが強く署名されている場合にのみ、GACに最初にチェックされます。アセンブリが署名されていない厳密な名前でない場合、そのあとローカルフォルダがチェックされます。これは.netアセンブリの検索順序の終わりです。上記1,2,3はチェックされていません。

あなたのアプリケーションのローカル構成ファイルを持つことによって.netがアセンブリを探す場所を変更することができます。

また、this post in the microsoft.public.dotnet.framework.aspnet groupには非常に有用な情報が含まれています。

+1

これは、ProbingPathのルックアップ – GETah

+0

で強くお伝えする価値があります。 – user145400

0

C:\ WindowsおよびC:\ Windows \ System32は、管理対象アセンブリのプロービングとは関係ありません。フレームワークはそこでアセンブリを探すことはありません。

それはGAC/Application Folderで最初に検索し、app.configファイルで指定されたならば、フォルダ内codebase/privatepath設定によって指されます。 プロービング中に.dllまたは.exeを追加して複数の組み合わせをチェックし、assembly.exe/.dllという名前のフォルダを探し、必要に応じて特定のカルチャを対象とするアセンブリを探します。

実行時にアセンブリの解決に失敗したフォルダを確認するツールとして、Fusion Log Viewerがあります。 VSコマンドプロンプトで「fuslogvw」と入力します。これは、ApplicationNameと名前でキー入力されたエントリを表示します

関連する問題