/// <summary> /// Creates the initial domain. /// </summary> /// <param name="friendlyName">Name of the friendly.</param> /// <param name="securityInfo">The security info.</param> /// <param name="appDomainInfo">The AppDomain setup info.</param> /// <returns></returns> public static AppDomain CreateInitialDomain(string friendlyName, Evidence securityInfo, AppDomainSetup appDomainInfo) { if (AppDomain.CurrentDomain.DomainManager is PrimaryAppDomainManager) { return(null); } appDomainInfo = appDomainInfo ?? new AppDomainSetup(); appDomainInfo.AppDomainManagerAssembly = typeof(PrimaryAppDomainManager).Assembly.FullName; appDomainInfo.AppDomainManagerType = typeof(PrimaryAppDomainManager).FullName; var appDomain = AppDomainManager.CreateDomainHelper(friendlyName, securityInfo, appDomainInfo); ((PrimaryAppDomainManager)appDomain.DomainManager).SetPrimaryDomainToSelf(); _primaryDomain = appDomain; return(appDomain); }