AssemblyLoaderHelper - класс

Вспомогательные методы для поиска и загрузки любых сборок.

Definition

Пространство имён: Tessa.Platform
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static class AssemblyLoaderHelper
Inheritance
Object    AssemblyLoaderHelper

Свойства

AssemblyResolveSyncObject 
HasAssemblyResolveHandler Признак того, что с текущим доменом уже связан ранее заданный обработчик загрузки сборок.

Методы

CanAssemblyResolveFail Возвращает признак того, что не следует писать в лог при ошибке загрузки сборки. Сборка "Serilog" пытается загрузиться через библиотеку "Quartz" при сканировании доступных средств логирование, и это совершенно нормально, что загрузить её не получается. Сборка "System.Data.SqlClient" пытается загрузиться через библиотеку "linq2db", и это нормально, что загрузить её не получается. Сборка "Microsoft.SqlServer.Types" пытается загрузиться через библиотеку "linq2db" при соединении с базой SQL Server для поддержки spatial-типов, которые у нас не используются. Ошибка загрузки игнорируется. Сборка "StackExchange.Redis" пытается загрузить "Microsoft.WindowsAzure.ServiceRuntime", и загружать её не требуется, т.к. подключение к Azure для Redis не используется.
CreateAssemblyResolveEventHandler Возвращает обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerableString, Assembly, Boolean). Обработчик создаётся, но не добавляется в домен. Вызов метода потокобезопасен.
GetActualProbingPathList Возвращает список фактически существующих полных путей к папкам, из которых требуется загружать сборки помимо папки с плагином. Метод может вернуть пустой список, но он не возвращает null. Метод всегда возвращает другой экземпляр списка, нежели задан в probingPathList.
GetActualProbingPathListFromSettings Возвращает список фактически существующих полных путей к папкам, из которых требуется загружать сборки помимо папки с плагином, в соответствии с конфигурацией app.json. Метод может вернуть пустой список, но он не возвращает null.
GetProbingPathList Возвращает список папок, используемых для загрузки сборок помимо папки с приложением. Метод может вернуть пустой список, но он не возвращает null.
IsResolveFailWarningSuppressedForAssembly Возвращает признак того, что указанное имя входит в список простых имён для сборок, для которых не выводятся предупреждения в логе при невозможности их загрузить.
SetCurrentAssemblyResolveHandler(IReadOnlyCollectionString, FuncAssemblyName, Boolean, ILogger) Добавляет обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerableString, Assembly, Boolean). Метод удаляет регистрацию предыдущего обработчика, если таковой был зарегистрирован. Вызов метода потокобезопасен.
SetCurrentAssemblyResolveHandler(IReadOnlyCollectionString, FuncAssemblyName, Boolean, ILogger, FuncAssemblyLoadContext, AssemblyName, Assembly) Добавляет обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerableString, Assembly, Boolean). Метод удаляет регистрацию предыдущего обработчика, если таковой был зарегистрирован. Вызов метода потокобезопасен.
SuppressResolveFailWarningForAssembly Определяет, должно ли указанное простое имя сборки входить в список имён, для которых не выводятся предупреждения в логе при невозможности их загрузить. Добавьте сюда сборки, например "System.Data.SqlClient", если возможное отсутствие такой сборки является корректным для используемых библиотек.

Поля

ProbingPathKey Ключ в настройках, которому соответствует строка со списком относительных путей допапок, используемых для загрузки сборок помимо папки с приложением.

См. также