MetadataLoadContext.CoreAssembly 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Int32와 같이 잘 알려진 형식을 포함하는 "시스템 어셈블리"를 나타내는 어셈블리를 가져오거나 설정합니다.
public:
property System::Reflection::Assembly ^ CoreAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? CoreAssembly { get; }
member this.CoreAssembly : System.Reflection.Assembly
Public ReadOnly Property CoreAssembly As Assembly
속성 값
Assembly 인스턴스입니다.
설명
이러한 잘 알려진 형식에 대한 참조는 일반 형식과 달리 어셈블리 참조를 포함하지 않으므로 핵심 어셈블리는 다른 어셈블리와 다르게 처리됩니다.
일반적으로 이 어셈블리의 이름은 "mscorlib" 또는 "netstandard"입니다. 핵심 어셈블리를 찾을 수 없는 경우 값은 null
이고 메서드 서명을 구문 분석하는 메서드를 비롯한 다른 많은 리플렉션 메서드는 예외를 throw합니다.
CoreAssembly
은 생성자에 전달된 매개 변수를 메서드에 MetadataAssemblyResolver 전달 coreAssemblyName
하여 MetadataAssemblyResolver.Resolve 결정됩니다.
의 생성자에 MetadataLoadContext인수가 지정되지 않은 coreAssemblyName
경우 "mscorlib", "System.Runtime" 및 "netstandard"를 비롯한 기본값이 사용됩니다.
지정된 코어 어셈블리는 코어 형식을 직접 포함할 필요가 없습니다. 다른 어셈블리에 전달을 입력할 수 있습니다. 따라서 mscorlib 외관을 지정된 코어 어셈블리로 사용하는 것이 완벽하게 허용됩니다.
System.Runtime 와 같은 DllImportAttributeinterop 관련 의사 사용자 지정 특성 형식 중 일부를 제외하므로 이상적인 핵심 어셈블리가 아닙니다. 그러나 이러한 특성에 관심이 없는 경우 서비스를 제공할 수 있습니다. 핵심 어셈블리에 필요한 형식이 포함되지 않은 경우 CustomAttributes API는 해당 특성을 건너뜁니다.
코어 어셈블리는 필요할 때까지 로드되지 않습니다. 다음 API는 핵심 어셈블리에 대한 검색을 트리거하지 않습니다.
- MetadataLoadContext.LoadFromStream
- MetadataLoadContext.LoadFromAssemblyPath
- MetadataLoadContext.LoadFromByteArray
- Assembly.GetName
- Assembly.FullName
- Assembly.GetReferencedAssemblies
- Assembly.GetTypes
- Assembly.DefinedTypes
- Assembly.GetExportedTypes
- Assembly.GetForwardedTypes
- Assembly.GetType(String, Boolean, Boolean)
- Type.Name
- Type.FullName
- Type.AssemblyQualifiedName
코어 어셈블리를 찾을 수 없거나 코어 어셈블리에 형식이 없는 경우 다음과 같이 의 동작에 MetadataLoadContext 영향을 줍니다.
서명 또는 typespecs를 구문 분석하고 개체로 Type 결과를 반환해야 하는 API는 예외를 throw합니다. 예를 들면 다음과 같습니다.
형식을 잘 알려진 코어 형식과 비교해야 하는 API는 예외를 throw하지 않으며 비교는 로
false
평가됩니다. 예를 들어 코어 어셈블리를 지정하지 않으면 는 IsPrimitive 라는 Int32형식을 비롯한 모든 항목에 대해 를 반환false
합니다. 마찬가지로 는 Type.GetTypeCode 모든 항목에 대해 를 반환 Object 합니다.메타데이터 엔터티가 표면의 플래그를 의사 사용자 지정 특성으로 설정하고 코어 어셈블리에 의사 사용자 지정 특성 형식, 필요한 생성자 또는 생성자의 매개 변수 형식이 포함되어 있지 않으면 이 MetadataLoadContext throw되지 않습니다. 반환된 특성 목록에서 의사 사용자 지정 특성을 생략합니다.
적용 대상
.NET