AssemblyLoaderHelper - класс

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

Definition

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

Свойства

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

Методы

AddAssemblyResolveHandler Добавляет обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerableString, Assembly, Boolean). Метод удаляет регистрацию предыдущего обработчика, если таковой был зарегистрирован. Вызов метода потокобезопасен.
AddSuppressResolveFailWarningForAssembly Добавляет указанное имя в список простых имён для сборок, для которых не выводятся предупреждения в логе при невозможности их загрузить. Добавьте сюда сборки, например "System.Data.SqlClient", если возможное отсутствие такой сборки является корректным для используемых библиотек.
CanAssemblyResolveFail Возвращает признак того, что не следует писать в лог при ошибке загрузки сборки. Сборка "Serilog" пытается загрузиться через библиотеку "Quartz" при сканировании доступных средств логирование, и это совершенно нормально, что загрузить её не получается. Сборка "System.Data.SqlClient" пытается загрузиться через библиотеку "linq2db", и это нормально, что загрузить её не получается. Сборка "Microsoft.SqlServer.Types" пытается загрузиться через библиотеку "linq2db" при соединении с базой SQL Server для поддержки spatial-типов, которые у нас не используются. Ошибка загрузки игнорируется. Сборка "StackExchange.Redis" пытается загрузить "Microsoft.WindowsAzure.ServiceRuntime", и загружать её не требуется, т.к. подключение к Azure для Redis не используется.
ContainsSuppressResolveFailWarningForAssembly Возвращает признак того, что указанное имя входит в список простых имён для сборок, для которых не выводятся предупреждения в логе при невозможности их загрузить.
GetActualProbingPathList Возвращает список фактически существующих полных путей к папкам, из которых требуется загружать сборки помимо папки с плагином. Метод может вернуть пустой список, но он не возвращает null. Метод всегда возвращает другой экземпляр списка, нежели задан в probingPathList.
GetAssemblyResolveEventHandler Возвращает обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerableString, Assembly, Boolean). Обработчик создаётся, но не добавляется в домен. Вызов метода потокобезопасен.
GetProbingPathList Возвращает список папок, используемых для загрузки сборок помимо папки с приложением. Метод может вернуть пустой список, но он не возвращает null.
RemoveSuppressResolveFailWarningForAssembly Удаляет указанное имя из списка простых имён для сборок, для которых не выводятся предупреждения в логе при невозможности их загрузить. Возвращает признак того, что сборка присутствовала в списке до удаления.

Поля

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

См. также