Assembly.ReflectionOnlyLoad Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Загружает сборку в контекст, предназначенный только для отражения, где она может быть проанализирована, но не может быть выполнена.
Перегрузки
ReflectionOnlyLoad(Byte[]) |
Является устаревшей.
Загружает сборку из образа в формате COFF, содержащего порожденную сборку. Сборка загружается в контекст, предназначенный только для отражения, который относится к домену приложения вызывающего объекта. |
ReflectionOnlyLoad(String) |
Является устаревшей.
Загружает сборку с заданным отображаемым именем в контекст, предназначенный только для отражения. |
ReflectionOnlyLoad(Byte[])
Внимание!
ReflectionOnly loading is not supported and throws PlatformNotSupportedException.
Загружает сборку из образа в формате COFF, содержащего порожденную сборку. Сборка загружается в контекст, предназначенный только для отражения, который относится к домену приложения вызывающего объекта.
public:
static System::Reflection::Assembly ^ ReflectionOnlyLoad(cli::array <System::Byte> ^ rawAssembly);
public static System.Reflection.Assembly ReflectionOnlyLoad (byte[] rawAssembly);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Reflection.Assembly ReflectionOnlyLoad (byte[] rawAssembly);
static member ReflectionOnlyLoad : byte[] -> System.Reflection.Assembly
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyLoad : byte[] -> System.Reflection.Assembly
Public Shared Function ReflectionOnlyLoad (rawAssembly As Byte()) As Assembly
Параметры
- rawAssembly
- Byte[]
Массив байтов, который является образом в формате COFF, содержащим созданную сборку.
Возвращаемое значение
Загруженная сборка.
- Атрибуты
Исключения
rawAssembly
имеет значение null
.
rawAssembly
не является допустимой сборкой.
-или-
В настоящий момент загружена среда CLR версии 2.0 или более поздней версии. Сборка rawAssembly
была скомпилирована в более поздней версии.
Не удается загрузить rawAssembly
.
Только .NET Core и .NET 5+: Во всех случаях.
Комментарии
Невозможно выполнить код из сборки, загруженной в контекст только для отражения. Чтобы выполнить код, сборка также должна быть загружена в контекст выполнения с помощью Load метода.
Контекст только отражения не отличается от других контекстов. Сборки, загруженные в контекст, можно выгрузить только путем выгрузки домена приложения.
Применяется к
ReflectionOnlyLoad(String)
Внимание!
ReflectionOnly loading is not supported and throws PlatformNotSupportedException.
Загружает сборку с заданным отображаемым именем в контекст, предназначенный только для отражения.
public:
static System::Reflection::Assembly ^ ReflectionOnlyLoad(System::String ^ assemblyString);
public static System.Reflection.Assembly ReflectionOnlyLoad (string assemblyString);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Reflection.Assembly ReflectionOnlyLoad (string assemblyString);
static member ReflectionOnlyLoad : string -> System.Reflection.Assembly
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyLoad : string -> System.Reflection.Assembly
Public Shared Function ReflectionOnlyLoad (assemblyString As String) As Assembly
Параметры
Возвращаемое значение
Загруженная сборка.
- Атрибуты
Исключения
assemblyString
имеет значение null
.
Параметр assemblyString
является пустой строкой ("").
assemblyString
не найден.
assemblyString
найден, но не может быть загружен.
assemblyString
не является допустимой сборкой.
-или-
В настоящий момент загружена среда CLR версии 2.0 или более поздней версии. Сборка assemblyString
была скомпилирована в более поздней версии.
Только .NET Core и .NET 5+: Во всех случаях.
Комментарии
Зависимости не загружаются автоматически в контекст только для отражения.
Невозможно выполнить код из сборки, загруженной в контекст только для отражения. Чтобы выполнить код, сборка также должна быть загружена в контекст выполнения с помощью Load метода.
От свидетельства зависит, предоставляются ли сборке определенные разрешения. Ниже приведены правила объединения доказательств сборки и безопасности.
Примечание
Отражение исполняемых файлов, скомпилированных в C++, может вызвать исключение FileLoadException. Это, скорее всего, вызвано тем, что компилятор C++ отменяет адреса перемещения или раздел RELOC из исполняемого файла. Чтобы сохранить адрес reloc, укажите /fixed:no
, когда выполняется связывание.
Контекст только отражения не отличается от других контекстов. Сборки, загруженные в контекст, можно выгрузить только путем выгрузки домена приложения.