Как вам уже известно, домены приложений представляют собой логические разделы, используемые для обслуживания сборок .NET Core. Кроме того, домен приложения может быть дополнительно разделен на многочисленные границы контекстов загрузки. Концептуально контекст загрузки создает область видимости для загрузки, распознавания и потенциально выгрузки набора сборок. По существу контекст загрузки .NET Core наделяет одиночный домен приложения возможностью установить "конкретный дом" для заданного объекта.
На заметку! Хотя понимать процессы и домены приложений довольно-таки важно, в большинстве приложений .NET Core никогда не потребуется работать с контекстами загрузки. Этот обзорный материал был включен в книгу только ради того, чтобы представить более полную картину.
Класс
AssemblyLoadContext
позволяет загружать дополнительные сборки в их собственные контексты. В целях демонстрации создайте новый проект библиотеки классов по имени
ClassLibaryl
и добавьте его к текущему решению. С использованием интерфейса командной строки .NET Core CLI выполните показанные ниже команды в каталоге, содержащем текущее решение:
Если вы работаете в Visual Studio, тогда щелкните правой кнопкой мыши на узле решения в окне Solution Explorer, выберите в контекстном меню пункт Add?New Project (Добавить?Новый проект. В результате создается проект
ClassLibrary1
и добавляется к решению. Далее добавьте ссылку на новый проект, щелкнув правой кнопкой мыши на имени проекта
DefaultAppDomainApp
и выбрав в контекстном меню пункт Add?References. Выбрать Projects?Solution (Проекты?Решение), как показано на рис. 14.3.