Поделиться через


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 свойство для загрузки различных реализаций одной и той же сборки на основе идентификатора запрашивающей сборки.

Применяется к

См. также раздел