.NET 4には、拡張性のためにMEFを使用するアプリケーションがあります。私のメインアプリケーションには、、、およびの3つのアセンブリHost
がApplication
ありContracts
ます。
Host
は、コンテナを作成して構成を行う「ブートストラップ」実行可能ファイルです。
Application
私のアプリケーションのロジックと、サードパーティ用の拡張ポイントが含まれています。
Contracts
拡張ポイントで使用されるインターフェイス(およびいくつかのヘルパークラス)が含まれています。
したがって、サードパーティアプリケーションを開発している人は、への参照を含める必要がありますが、への参照は含めContracts
ないでApplication
ください。
私のセキュリティモデルは次のようになると思います。
Host
SecurityCriticalでApplication
ある必要がありますContracts
SecuritySafeCriticalである必要があります- すべてのサードパーティ拡張機能はSecurityTransparentである必要があります
デフォルトでは1.が満たされると思います。2.アセンブリ属性を使用して実装できることを知っています。問題は、ルール3をどのように適用するかです。オペレーティングシステムは、ダウンロードされたすべての拡張機能に信頼できないものとしてフラグを立てることにより、これを自動的に実行しますか?ダウンロードした拡張機能アセンブリが完全に信頼されるようになることは可能ですか?