AppDomainSetup предоставляет информацию о конфигурации для нового домена приложения, который является изолированной средой, в которой сборки Microsoft .NET могут быть помещены в «песочницу», предоставлены определенные разрешения или PermissionSets и выполнены.

Определение:

AppDomainSetup представляет информацию о конфигурации для нового домена приложения, в котором скомпилированные сборки Microsoft .NET могут быть изолированы от другие сборки. Хотя домены приложений обычно используются для изолированной программной среды от стороннего или ненадежного кода, их также можно использовать для отделения кода от основного процесса, чтобы предотвратить потенциальную нестабильность в определенном сегменте приложения.

При создании доменов приложения наиболее важным свойством является ApplicationBase, которое определяет корневой каталог приложения, а также используется для поиска типов и сборок в каталоге, заданном свойством ApplicationBase.

Использование тега:

Тег appdomainsetup следует использовать при обращении к проблемам, связанным с классом System.AppDomainSetup в Microsoft .NET, или связанным с удаленным доступом или проблемами процесса.

Пример (C #):

namespace AppDomainSetupExample { using System; using System.IO; using System.Reflection; using System.Security; using System.Security.Permissions; using System.Security.Policy; class Program { static void Main(string[] args) { PermissionSet ps = new PermissionSet(PermissionState.None); ps.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); ps.AddPermission(new FileIOPermission(FileIOPermissionAccess.Write, @"C:\")); var assembly = Assembly.GetExecutingAssembly(); AppDomainSetup ads = new AppDomainSetup(); ads.ApplicationBase = Path.GetFullPath(assembly.Location); StrongName fullTrustAssemblies = assembly.Evidence.GetHostEvidence<StrongName>(); AppDomain domain = AppDomain.CreateDomain("foo", null, ads, ps, fullTrustAssemblies); } } }