private static NamedPermissionSet BuildEverything ()
{
NamedPermissionSet nps = new NamedPermissionSet (ReservedNames.Everything, PermissionState.None);
nps.AddPermission (new EnvironmentPermission (PermissionState.Unrestricted));
nps.AddPermission (new FileDialogPermission (PermissionState.Unrestricted));
nps.AddPermission (new FileIOPermission (PermissionState.Unrestricted));
nps.AddPermission (new IsolatedStorageFilePermission (PermissionState.Unrestricted));
nps.AddPermission (new ReflectionPermission (PermissionState.Unrestricted));
nps.AddPermission (new RegistryPermission (PermissionState.Unrestricted));
#if NET_2_0
nps.AddPermission (new KeyContainerPermission (PermissionState.Unrestricted));
#endif
// not quite all in this case
SecurityPermissionFlag spf = SecurityPermissionFlag.AllFlags;
spf &= ~SecurityPermissionFlag.SkipVerification;
nps.AddPermission (new SecurityPermission (spf));
nps.AddPermission (new UIPermission (PermissionState.Unrestricted));
// others requires stuff outside corlib
nps.AddPermission (PermissionBuilder.Create (DnsPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (PrintingPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (EventLogPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (SocketPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (WebPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (PerformanceCounterPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (DirectoryServicesPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (MessageQueuePermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (ServiceControllerPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (OleDbPermissionClass, PermissionState.Unrestricted));
nps.AddPermission (PermissionBuilder.Create (SqlClientPermissionClass, PermissionState.Unrestricted));
#if NET_2_0
// nps.AddPermission (PermissionBuilder.Create (DataProtectionPermissionClass, PermissionState.Unrestricted));
// nps.AddPermission (PermissionBuilder.Create (StorePermissionClass, PermissionState.Unrestricted));
#endif
return nps;
}