3 つの .NET 4.0 サード パーティ アセンブリがあります。
Assembly.Oneunsigned であり、 signedAssembly.Twoおよび unsignedを参照していAssembly.Threeます。Assembly.Two署名され たを参照しAssembly.Threeます。
リフレクターを使用して上記を確認しました。
Assembly.Oneunsigned 、 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でしょうか?