3 つの .NET 4.0 サード パーティ アセンブリがあります。
Assembly.One
unsigned であり、 signedAssembly.Two
および unsignedを参照していAssembly.Three
ます。Assembly.Two
署名され たを参照しAssembly.Three
ます。
リフレクターを使用して上記を確認しました。
Assembly.One
unsigned 、 signed Assembly.Two
、およびunsigned が提供されましたAssembly.Three
。
参照から署名されたバージョンを具体的に探しているため、署名されたものはAssembly.Two
署名されていないものを確実にロードできないため、展開時にこれが失敗することを期待していましたか? Assembly.Three
しかし、驚いたことに、それは機能します。
Assembly.Two
マニフェストに への参照がAssembly.Three
あるので、それを使用している必要があります。サーバー上に署名されたバージョンがないことを確認Assembly.Three
しました.FUSLOGVWを使用すると、実際に署名されていないバージョンが読み込まれます.
FUSLOGVW には、unsigned の読み込み用のエントリとAssembly.Three
、(Unknown) の呼び出しアセンブリ用のエントリが 2 つあります。
部分的に指定されたアセンブリ バインドが、アプリケーション ディレクトリから成功しました。ポリシーを再適用する必要がある
Assembly.One
発信元が unsigned への参照を持っているため、私が気付いていないこれを可能にする潜在的な「責任の連鎖」(より良い説明がないため)があるAssembly.Three
でしょうか?