<애플리케이션> 요소(.NET 네이티브)

런타임에 메타데이터를 리플렉션에 사용할 수 있는 애플리케이션 수준 형식 및 형식 멤버의 컨테이너로 사용되며, 앱의 모든 프로그램 요소에 대해 런타임 리플렉션 정책을 적용합니다.

<Directives> 요소 <Application> 요소(rd.xml)

구문

<Application Activate="policy_setting"
             Browse="policy_setting"
             Dynamic="policy_setting"
             Serialize="policy_setting"
             DataContractSerializer="policy_setting"
             DataContractJsonSerializer="policy_setting"
             XmlSerializer="policy_setting"
             MarshalObject="policy_setting"
             MarshalDelegate="policy_setting"
             MarshalStructure="policy_setting" />

특성 및 요소

다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다. 자식 요소 테이블에서 정책은 런타임에 특정 프로그램 요소에 대해 제공되는 메타데이터의 종류를 참조합니다.

특성

특성 특성 형식 설명
Activate 리플렉션 선택적 특성입니다. 인스턴스를 활성화할 수 있도록 생성자에 대한 런타임 액세스를 제어합니다.
Browse 리플렉션 선택적 특성입니다. 형식에 대한 정보 쿼리 또는 형식 열거는 제어하지만 런타임에 동적 호출을 사용하도록 설정하지는 않습니다.
Dynamic 리플렉션 선택적 특성입니다. 동적 프로그래밍을 수행할 수 있도록 생성자, 메서드, 필드, 속성 및 이벤트를 비롯한 모든 형식 멤버에 대한 런타임 액세스를 제어합니다.
Serialize 직렬화 선택적 특성입니다. Newtonsoft JSON 직렬 변환기 등의 라이브러리를 통해 형식 인스턴스를 직렬화 및 역직렬화할 수 있도록 생성자, 필드 및 속성에 대한 런타임 액세스를 제어합니다.
DataContractSerializer 직렬화 선택적 특성입니다. System.Runtime.Serialization.DataContractSerializer 클래스를 사용하는 직렬화에 대한 정책을 제어합니다.
DataContractJsonSerializer 직렬화 선택적 특성입니다. System.Runtime.Serialization.Json.DataContractJsonSerializer 클래스를 사용하는 JSON 직렬화에 대한 정책을 제어합니다.
XmlSerializer 직렬화 선택적 특성입니다. System.Xml.Serialization.XmlSerializer 클래스를 사용하는 XML 직렬화에 대한 정책을 제어합니다.
MarshalObject Interop 선택적 특성입니다. Windows 런타임 및 COM에 대한 참조 형식을 마샬링하는 정책을 제어합니다.
MarshalDelegate Interop 선택적 특성입니다. 네이티브 코드에 대한 함수 포인터로 대리자 형식을 마샬링하는 정책을 제어합니다.
MarshalStructure Interop 선택적 특성입니다. 구조체를 네이티브 코드로 마샬링하는 정책을 제어합니다.

모든 특성

설명
policy_setting 앱의 형식에 적용할 이 정책에 대한 설정입니다. 가능한 값은 All, Auto, Excluded, Public, PublicAndInternal, Required Public, Required PublicAndInternalRequired All입니다. 자세한 정보는 런타임 지시문 정책 설정을 참조하세요.

자식 요소

요소 설명
<어셈블리> 특정 어셈블리의 모든 형식에 정책을 적용합니다.
<네임스페이스> 특정 네임스페이스의 모든 형식에 정책을 적용합니다.
<형식> 클래스 또는 구조체와 같은 특정 형식에 정책을 적용합니다.
<TypeInstantiation> 생성된 제네릭 형식에 정책을 적용합니다. 예를 들어 <TypeInstantiation> 요소를 사용하면 List<String> 형식에 대한 정책을 정의할 수 있습니다.
<메서드> 특정 형식에 대한 메서드에 정책을 적용합니다.
<MethodInstantiation> 생성된 제네릭 메서드에 정책을 적용합니다.
<속성> 특정 형식에 대한 속성에 정책을 적용합니다.
<필드> 특정 형식에 대한 필드에 정책을 적용합니다.
<이벤트> 특정 형식의 이벤트에 정책을 적용합니다.

부모 요소

요소 설명
<지시문> 런타임 지시문 파일의 루트 요소입니다.

설명

<Directives> 요소는 <Application> 요소를 포함하지 않거나 하나를 포함할 수 있습니다. 단일 리플렉션 지시문 파일에 여러 <Application> 요소를 포함할 수는 없습니다.

<Application> 요소는 다음의 두 가지 방법 중 하나로 사용할 수 있습니다.

  • 런타임에 해당 메타데이터가 필요한 프로그램 요소를 정의하는 컨테이너로 사용합니다. 이 경우에는 <Application> 요소에 특성이 없어도 됩니다. 컴파일 타임에 컴파일러 도구는 .NET Framework 핵심 라이브러리를 비롯한 모든 라이브러리에서 <Application> 요소의 자식 요소가 식별한 프로그램 요소를 검색합니다. 반면 <Library> 요소로 지정된 라이브러리에서는 <Library> 요소의 자식 요소가 식별한 프로그램 요소만 검색합니다.

  • 리플렉션, 직렬화 및 interop에 대한 애플리케이션 수준 정책을 설정하는 요소로 사용합니다. <Application> 요소의 특성은 애플리케이션 수준 정책을 정의하며, 이 정책은 <Application> 또는 <Library> 요소로 정의된 자식 요소에 의해 재정의될 수 있습니다.

참고 항목