다음을 통해 공유


메타데이터 개요

업데이트: 2007년 11월

메타데이터를 사용하면 런타임 형식(클래스, 인터페이스 및 값 형식), 필드 및 메서드를 기술할 수 있을 뿐 아니라 CLR(공용 언어 런타임)에서 MSIL(Microsoft Intermediate Language)을 JIT 컴파일하고, 클래스를 로드하고, 코드를 실행하고, COM 고유의 기술과 상호 작용하는 데 사용되는 내부 구현 및 레이아웃 정보도 기술할 수 있습니다. 메타데이터는 모든 CLR 구성 요소에 포함되며 런타임, 도구 및 서비스에서 사용할 수 있습니다.

모든 메타데이터 조작 작업은 메타데이터 API를 통해 수행됩니다. 메타데이터 API는 클라이언트(도구 및 서비스)를 내부 데이터 구조로부터 격리시키며, 런타임 이진 표현, COM 기본 형식 라이브러리 및 기타 형식과 메모리 간의 투명한 전송을 가능하게 하는 플러그형 지속성 형식 아키텍처를 사용할 수 있도록 합니다.

메타데이터 API에는 메타데이터 내보내기(생성) 및 가져오기를 수행하는 인터페이스가 포함되어 있습니다. 클라이언트에서는 다음 방법으로 메타데이터를 내보내거나 가져올 수 있습니다.

  • 컴파일러 및 도구에서 "내보내기" API를 호출하여 메타데이터를 내보냅니다. 메타데이터는 컴파일 및 연결 프로세스 도중에 내보내집니다. RAD 도구에서는 구성 요소나 응용 프로그램을 빌드하는 과정에서 메타데이터를 내보냅니다. 이 API 멤버는 메모리 내 데이터 구조에 대한 쓰기 및 읽기 작업을 수행합니다. 저장 시 이러한 메모리 내 구조는 압축된 후 대상 컴파일 단위(.obj 파일), 실행 파일(.exe 파일) 또는 독립 실행형 메타데이터 이진 파일에 이진 형식으로 저장됩니다. 여러 개의 컴파일 단위가 연결되어 EXE나 DLL을 구성하는 경우 "내보내기" API 멤버는 각 컴파일 단위의 메타데이터 섹션을 하나의 통합된 메타데이터 이진 파일에 병합하는 메서드를 제공합니다.

  • 로더와 그 밖의 런타임 도구 및 서비스에서는 로드 및 활성화와 같은 작업을 완료할 수 있도록 "가져오기" API 멤버를 호출하여 구성 요소에 대한 정보를 가져오는 방법으로 메타데이터를 가져옵니다.

단원 내용

참고 항목

기타 리소스

메타데이터 개요

메타데이터 인터페이스

메타데이터 전역 정적 함수

메타데이터 열거형

메타데이터 구조체

메타데이터 공용 구조체

Standard ECMA-335: Common Language Infrastructure (CLI)

ECMA C# and Common Language Infrastructure Standards