ResolveEventArgs.RequestingAssembly Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает сборку, зависимость которой необходимо разрешить.
public:
property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? RequestingAssembly { get; }
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly
Значение свойства
Сборка, запросившая элемент, задается свойством Name.
Комментарии
Сборка, возвращаемая этим свойством, является сборкой, которая не смогла разрешить элемент, заданный свойством Name , так как элемент не существовал в этой сборке, ни в одной из ее загруженных зависимостей или в любых зависимостях, которые загрузчик мог найти с помощью пробы.
Например, предположим, что текущая сборка Assembly.LoadFile использует метод для загрузки сборки A из каталога за пределами пути проверки, чтобы использовать ЦС класса. Предположим также, что ЦС класса использует класс CB в сборке B, а сборка A имеет ссылку времени компиляции на сборку B, которая также находится за пределами пути проверки. Когда текущая сборка пытается создать экземпляр ЦС, загрузчик пытается разрешить ссылку на сборку B. Однако поскольку сборка A была загружена Assembly.LoadFile с помощью метода , загрузчик не может разрешить зависимость. При наличии обработчика AppDomain.AssemblyResolve для события возникает событие, а RequestingAssembly свойство результирующего ResolveEventArgs объекта содержит сборку A, так как сборка A — это сборка, в котором отсутствует зависимость.
Семантика RequestingAssembly свойства зависит от того, как была загружена запрашивающая сборка:
Контекст загрузки: значение свойства может быть
null
равно . Контекст загрузки не зависит от порядка загрузки, и удостоверение запрашивающей сборки не обязательно имеет смысл. Пример, отличный от NULL, возникает, когда Type.GetType вызывается метод и указанный тип неизвестен запрашивающей сборке или какой-либо из ее зависимостей.Контекст загрузки из: свойство можно использовать в качестве подсказки для проверки, но обработчик событий не должен получать более одного запроса для заданного имени сборки.
Нет контекста (то есть запрашивающая сборка была загружена с помощью Assembly.LoadFile метода , в виде потока байтов или в смешанном режиме). Обработчик может использовать RequestingAssembly свойство для загрузки различных реализаций одной и той же сборки на основе идентификатора запрашивающей сборки.