製品を .NET 4.0 に変換し、更新されたコード アクセス セキュリティ モデルを使用して以来、問題が発生しています。基本的に、マシン上の GAC にインストールされている場合とインストールされていない場合があるコンポーネント ライブラリがあります。
誰かがこれらのライブラリを使用するデフォルトの部分信頼設定で XBAP を作成し、エンド ユーザーが XBAP をインストールすると (インストール中にライブラリがデプロイされます)、ライブラリが GAC にまだ存在していなければ問題なく動作します。
それらが GAC にあった場合、XBAP は実行時にセキュリティ例外で失敗します。問題はこれによるものだと思います: http://msdn.microsoft.com/en-us/library/aa970906.aspx
マネージ アセンブリがグローバル アセンブリ キャッシュ (GAC) にインストールされると、完全に信頼されるようになります。これは、ユーザーがそれらをインストールするための明示的なアクセス許可を提供する必要があるためです。それらは完全に信頼されているため、完全に信頼されたマネージド クライアント アプリケーションのみがそれらを使用できます。
それらは GAC からプルされるため、XBAP でデプロイされたまったく同じ .dll であるにもかかわらず、セキュリティがさらに強化されているようです。しかし、その場合、すべてが壊れます。
すべてのライブラリに AllowPartiallyTrustedCallersAttribute を追加する以外に、この問題を回避する方法はありますか?
または、XBAP が GAC でアセンブリを検索し、展開されている参照の正確なコピーを使用するのを防ぐ方法はありますか?
ご協力いただきありがとうございます。