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