Каждое приложение, работающее в рамках процесса, AppDomain также является легковесным процессом или, можно сказать, логической единицей, которая имеет группу сборок (это контейнер, который содержит группу сборок) и существует внутри процесса на уровне изоляции одного и того же процесса. , это позволяет запускать несколько сборок в одном процессе и предотвращать прямой доступ к ним.
Запуск приложения Dot Net внутри AppDomain:
после запуска любого приложения dot net оболочка операционной системы загружает CLR в процесс, и новый AppDomain создается в том же процессе и загружает все сборки в созданный AppDomain, теперь из AppDomain будет выполняться код.
Когда использовать Custom AppDomain:
мы можем создать собственный AppDomain, теперь дело в том, в каком сценарии мы можем создать собственный AppDomain. Предположим, во время выполнения нам нужно добавить или удалить сборки, не прерывая работающее приложение, тогда мы можем создать собственный домен приложений.