private static StrongName[] GetBaseFullTrustAssemblies() { if (ControlPolicyManager.m_baseFullTrustAssemblies == null) { StrongName[] array = ControlPolicyManager.m_baseFullTrustAssemblies = new StrongName[2] { ControlPolicyManager.CreateStrongName(typeof(ReportRuntime).Assembly), ControlPolicyManager.CreateStrongName(typeof(ObjectModel).Assembly) }; } return(ControlPolicyManager.m_baseFullTrustAssemblies); }
public override AppDomain CreateAppDomainWithPolicy(string appDomainName, Evidence evidence, SandboxCasPolicySettings casSettings) { PermissionSet permissionSet = casSettings.BasePermissions; if (permissionSet == null) { permissionSet = new PermissionSet(PermissionState.None); permissionSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); } StrongName[] baseFullTrustAssemblies = ControlPolicyManager.GetBaseFullTrustAssemblies(); int num = baseFullTrustAssemblies.Length; if (casSettings.FullTrustAssemblies != null) { num += casSettings.FullTrustAssemblies.Count; } StrongName[] array = new StrongName[num]; Array.Copy(baseFullTrustAssemblies, array, baseFullTrustAssemblies.Length); if (casSettings.FullTrustAssemblies != null) { casSettings.FullTrustAssemblies.CopyTo(array, baseFullTrustAssemblies.Length); } return(AppDomain.CreateDomain(appDomainName)); }