CAS は、ここで必要なもののほとんどです。具体的には、アセンブリを独自のアプリケーション ドメインにロードします。
var myEvidence = new Evidence(new object[] {SecurityZone.Internet});
var newDomain = AppDomain.CreateDomain("InternetDomain");
myDomain.Load("MyUntrustedAssembly.dll", myEvidence);
myDomain.CreateInstanceAndUnwrap("MyUntrustedAssembly","MyUntrustedObjectType");
//do your work with the untrusted assembly/type
AppDomain.Unload(myDomain);
アプリケーション ドメイン、さまざまなゾーン、およびそれらに割り当てられている既定のアクセス許可セットについて調べてください。インターネットは、アセンブリが実際に実行できるシステム定義のゾーン/アクセス許可セットの中で最も制限が厳しいものです (制限付きゾーンもあります。このゾーンに分類されるアセンブリは実行できません)。.NET 構成ツールを使用して、アクセス許可セットを作成し、アクセス許可セットを付与するためにコードが満たさなければならない条件 (証拠) を定義できます。