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


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, так как сборка А является сборкой, которая отсутствует зависимость.

Семантика RequestingAssembly свойства зависит от того, как была загружена запрашиваемая сборка:

  • Контекст загрузки: значение свойства может быть null. Контекст нагрузки не зависит от порядка загрузки, а удостоверение запрашивающей сборки не обязательно понятно. Пример, отличный от NULL, возникает при Type.GetType вызове метода, и указанный тип не известен запрашивающей сборке или какой-либо из его зависимостей.

  • Загрузка из контекста: свойство может использоваться в качестве указания проверки, но обработчик событий не должен получать несколько запросов для заданного имени сборки.

  • Контекст (т. е. сборка запроса была загружена с помощью Assembly.LoadFile метода или в виде потока байтов или в смешанном режиме). Обработчик может использовать RequestingAssembly свойство для загрузки различных реализаций одной сборки на основе удостоверения запрашивающей сборки.

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

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