private static bool Create() { AppDomainSetup Setup = new AppDomainSetup { ApplicationName = "CBScriptContainer" + Guid.NewGuid().ToString("X") + "D", ApplicationBase = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" }; PermissionSet permissions = new PermissionSet(PermissionState.Unrestricted); permissions.AddPermission(new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME")); permissions.AddPermission(new FileIOPermission(FileIOPermissionAccess.AllAccess, Assembly.GetExecutingAssembly().Location)); permissions.AddPermission(new ReflectionPermission(PermissionState.Unrestricted)); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.Infrastructure)); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration)); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.SerializationFormatter)); permissions.AddPermission(new SecurityPermission(SecurityPermissionFlag.UnmanagedCode)); permissions.AddPermission(new UIPermission(PermissionState.Unrestricted)); permissions.AddPermission(new WebPermission(NetworkAccess.Connect, new Regex("https?:\\/\\/(\\w+)\\.carrybuddy\\.net\\/.*"))); Handle = AppDomain.CreateDomain("ScriptContainer", null, Setup, permissions); Execute = (Executer)Activator.CreateInstanceFrom(Handle, Assembly.GetExecutingAssembly().Location, typeof(Executer).FullName).Unwrap(); Execute.AttachToResolve(new ResolveEventHandler(Resolver)); return(Execute != null && Handle != null); }