Microsoft .Net Framework--Application Development Foundation Training Kit book の第 8 章レッスン 2: アプリケーション ドメインの構成に取り組んでいます。
ShowWinIni は、実行したいプログラムのアセンブリ名です
object[] hostEvidence = { new Zone(SecurityZone.MyComputer) };
Evidence e = new Evidence(hostEvidence, null);
// Create an AppDomain.
AppDomain d = AppDomain.CreateDomain("New Domain", e);
// Run the assembly
d.ExecuteAssemblyByName("ShowWinIni");
私が実行すると:
AppDomain d = AppDomain.CreateDomain("New Domain", e);
次のメッセージが表示されます。「このメソッドは、.NET Framework によって廃止された CAS ポリシーを暗黙的に使用しています。互換性の理由から CAS ポリシーを有効にするには、NetFx40_LegacySecurityPolicy 構成スイッチを使用してください。http: //go.microsoftを参照してください。詳細については、 .com/fwlink/?LinkID=155570をご覧ください。"
Evidence オブジェクトなしで AppDomain を作成すると、アセンブリを正常に実行できます。
もちろん、私はhttp://go.microsoft.com/fwlink/?LinkID=155570にアクセスしましたが、指定された特権を持つアプリケーション ドメインを作成する方法についてまだ混乱しています。
次に見つけた最も役立つサイトはhttp://msdn.microsoft.com/en-us/library/bb763046.aspxでしたが、StrongName オブジェクトは NULL に計算されます。
StrongName fullTrustAssembly =
typeof(Program).Assembly.Evidence.GetHostEvidence<StrongName>();
プログラムは、このすべてのコードを実装するクラスの名前です。
あなたのアドバイスとヒントを事前にありがとう!