IIS 6.0、下に仮想ディレクトリがあるルートWebサイト。IISワーカープロセス:異なるサイトが異なるバージョンを参照しているときに読み込まれるDLLはどれですか?
ルートWebサイトには、独自のbin
ディレクトリがあります。このディレクトリには、古いバージョンのDLLが含まれています。これは本番サイトであり、私たちはそれに触れたくありません。
例:
CSA.Network.DLL 1.3.9117.0
仮想ディレクトリの下に例えば、これらのDLLのより新しいバージョンが含まれているそのbin
ディレクトリを、持っている:
CSA.Network.DLL 1.7.8221.0
IISワーカープロセスが起動すると、それがロードされます1.3バージョンのDLL ...仮想ディレクトリ内のページを読み込んだとき、1.7もロードされますか、既にメモリに格納されているため1.3に固定されますか?
参考文献はプロジェクトリファレンスであり、特定のタイプを必要としないように設定されているため、1.3を使用して1.7をロードしようとは思われません。あれは正しいですか?ここにはどのような規則が適用されていますか?
ありがとうございます! vcsjonesとサムShilesによって
サイトは、ほとんど異なるAppDomainsに読み込まれます。ロードされたアセンブリのスコープはAppDomainレベルであるため、各サイトでは独自のバージョンのアセンブリが使用されます。 – vcsjones
私はvcsjonesに同意します。それでも興味がある場合は、アセンブリのバインディングログを調べるためにFusionログビューアの使用について説明している次のブログ記事を参照してください。 http://blogs.msdn.com/b/suzcook/archive/2003/05/29/57120.aspxおよびhttp://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx –