Assembly.ReflectionOnlyLoad 메서드

정의

어셈블리를 검사할 수 있지만 실행할 수는 없는 리플렉션 전용 컨텍스트에 어셈블리를 로드합니다.Loads an assembly into the reflection-only context, where it can be examined but not executed.

오버로드

ReflectionOnlyLoad(Byte[])

내보낸 어셈블리가 포함된 COFF(Common Object File Format) 기반 이미지에서 어셈블리를 로드합니다.Loads the assembly from a common object file format (COFF)-based image containing an emitted assembly. 어셈블리는 호출자 애플리케이션 도메인의 리플렉션 전용 컨텍스트에 로드됩니다.The assembly is loaded into the reflection-only context of the caller's application domain.

ReflectionOnlyLoad(String)

지정된 표시 이름을 사용하여 어셈블리를 리플렉션 전용 컨텍스트에 로드합니다.Loads an assembly into the reflection-only context, given its display name.

ReflectionOnlyLoad(Byte[])

내보낸 어셈블리가 포함된 COFF(Common Object File Format) 기반 이미지에서 어셈블리를 로드합니다.Loads the assembly from a common object file format (COFF)-based image containing an emitted assembly. 어셈블리는 호출자 애플리케이션 도메인의 리플렉션 전용 컨텍스트에 로드됩니다.The assembly is loaded into the reflection-only context of the caller's application domain.

public:
 static System::Reflection::Assembly ^ ReflectionOnlyLoad(cli::array <System::Byte> ^ rawAssembly);
public static System.Reflection.Assembly ReflectionOnlyLoad (byte[] rawAssembly);
static member ReflectionOnlyLoad : byte[] -> System.Reflection.Assembly
Public Shared Function ReflectionOnlyLoad (rawAssembly As Byte()) As Assembly

매개 변수

rawAssembly
Byte[]

내보낸 어셈블리가 포함된 COFF 기반 이미지인 바이트 배열입니다.A byte array that is a COFF-based image containing an emitted assembly.

반환

로드된 어셈블리입니다.The loaded assembly.

예외

rawAssemblynull입니다.rawAssembly is null.

rawAssembly는 유효한 어셈블리가 아닙니다.rawAssembly is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 rawAssembly가 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and rawAssembly was compiled with a later version.

rawAssembly를 로드할 수 없습니다.rawAssembly cannot be loaded.

.NET Core만 해당: 이 멤버는 지원되지 않습니다..NET Core only: This member is not supported.

설명

리플렉션 전용 컨텍스트에 로드 된 어셈블리에서 코드를 실행할 수 없습니다.You cannot execute code from an assembly loaded into the reflection-only context. 코드를 실행 하려면 Load 메서드를 사용 하 여 어셈블리를 실행 컨텍스트에도 로드 해야 합니다.To execute code, the assembly must be loaded into the execution context as well, using the Load method.

리플렉션 전용 컨텍스트는 다른 컨텍스트와는 다릅니다.The reflection-only context is no different from other contexts. 컨텍스트에 로드 된 어셈블리를 애플리케이션 도메인을 언로드하는 유일한 언로드될 수 있습니다.Assemblies that are loaded into the context can be unloaded only by unloading the application domain.

ReflectionOnlyLoad(String)

지정된 표시 이름을 사용하여 어셈블리를 리플렉션 전용 컨텍스트에 로드합니다.Loads an assembly into the reflection-only context, given its display name.

public:
 static System::Reflection::Assembly ^ ReflectionOnlyLoad(System::String ^ assemblyString);
public static System.Reflection.Assembly ReflectionOnlyLoad (string assemblyString);
static member ReflectionOnlyLoad : string -> System.Reflection.Assembly
Public Shared Function ReflectionOnlyLoad (assemblyString As String) As Assembly

매개 변수

assemblyString
String

FullName 속성에서 반환된 어셈블리의 표시 이름입니다.The display name of the assembly, as returned by the FullName property.

반환

로드된 어셈블리입니다.The loaded assembly.

예외

assemblyStringnull인 경우assemblyString is null.

assemblyString가 빈 문자열("")인 경우assemblyString is an empty string ("").

assemblyString가 없는 경우assemblyString is not found.

assemblyString을 찾았지만 로드할 수 없습니다.assemblyString is found, but cannot be loaded.

assemblyString는 유효한 어셈블리가 아닙니다.assemblyString is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 assemblyString가 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and assemblyString was compiled with a later version.

.NET Core만 해당: 이 멤버는 지원되지 않습니다..NET Core only: This member is not supported.

설명

종속성은 리플렉션 전용 컨텍스트에 자동으로 로드 되지 않습니다.Dependencies are not automatically loaded into the reflection-only context.

리플렉션 전용 컨텍스트에 로드 된 어셈블리에서 코드를 실행할 수 없습니다.You cannot execute code from an assembly loaded into the reflection-only context. 코드를 실행 하려면 Load 메서드를 사용 하 여 어셈블리를 실행 컨텍스트에도 로드 해야 합니다.To execute code, the assembly must be loaded into the execution context as well, using the Load method.

어셈블리에 대한 특정 권한 부여 여부는 증명 정보를 바탕으로 합니다.Whether certain permissions are granted or not granted to an assembly is based on evidence. 어셈블리 및 보안 증명 정보 병합에 대 한 규칙은 다음과 같습니다.The rules for assembly and security evidence merging are as follows:

참고

에서 C++ 컴파일된 실행 파일에 대 한 반사는 FileLoadException을 throw 할 수 있습니다.Reflecting on executable files compiled in C++ might throw a FileLoadException. 이는 컴파일러가 실행 파일에서 재배치 C++ 주소를 제거 하거나 .reloc 섹션을 제거 하는 경우에 발생할 수 있습니다.This is most likely caused by the C++ compiler stripping the relocation addresses or the .reloc section from your executable file. .Reloc 주소를 유지 하려면 링크할 때 /fixed:no를 지정 합니다.To preserve the .reloc address, specify /fixed:no when you are linking.

리플렉션 전용 컨텍스트는 다른 컨텍스트와는 다릅니다.The reflection-only context is no different from other contexts. 컨텍스트에 로드 된 어셈블리를 애플리케이션 도메인을 언로드하는 유일한 언로드될 수 있습니다.Assemblies that are loaded into the context can be unloaded only by unloading the application domain.

적용 대상