AssemblyLoaderHelper - класс

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

Definition

Пространство имён: Tessa.Platform
Сборка: Tessa (в Tessa.dll) Версия: 4.0.6
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(IEnumerable<String>, Assembly, Boolean). Обработчик создаётся, но не добавляется в домен. Вызов метода потокобезопасен.
GetActualProbingPathList Возвращает список фактически существующих полных путей к папкам, из которых требуется загружать сборки помимо папки с плагином. Метод может вернуть пустой список, но он не возвращает null. Метод всегда возвращает другой экземпляр списка, нежели задан в probingPathList.
GetActualProbingPathListFromSettings Возвращает список фактически существующих полных путей к папкам, из которых требуется загружать сборки помимо папки с плагином, в соответствии с конфигурацией app.json. Метод может вернуть пустой список, но он не возвращает null.
GetProbingPathList Возвращает список папок, используемых для загрузки сборок помимо папки с приложением. Метод может вернуть пустой список, но он не возвращает null.
IsResolveFailWarningSuppressedForAssembly Возвращает признак того, что указанное имя входит в список простых имён для сборок, для которых не выводятся предупреждения в логе при невозможности их загрузить.
SetCurrentAssemblyResolveHandler(IReadOnlyCollection<String>, Func<AssemblyName, Boolean>, ILogger) Добавляет обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerable<String>, Assembly, Boolean). Метод удаляет регистрацию предыдущего обработчика, если таковой был зарегистрирован. Вызов метода потокобезопасен.
SetCurrentAssemblyResolveHandler(IReadOnlyCollection<String>, Func<AssemblyName, Boolean>, ILogger, Func<AssemblyLoadContext, AssemblyName, Assembly>) Добавляет обработчик загрузки сборок AssemblyLoadContext.Default.Resolving для указанного списка сборок probingPathList, который обычно загружается вызовом метода GetActualProbingPathList(IEnumerable<String>, Assembly, Boolean). Метод удаляет регистрацию предыдущего обработчика, если таковой был зарегистрирован. Вызов метода потокобезопасен.
SuppressResolveFailWarningForAssembly Определяет, должно ли указанное простое имя сборки входить в список имён, для которых не выводятся предупреждения в логе при невозможности их загрузить. Добавьте сюда сборки, например "System.Data.SqlClient", если возможное отсутствие такой сборки является корректным для используемых библиотек.

Поля

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

См. также