<어셈블리> 요소(.NET 네이티브)

지정된 어셈블리의 모든 형식에 런타임 리플렉션 정책을 적용합니다.

구문

<Assembly Name="assembly_name"
          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" />

특성 및 요소

다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성 특성 형식 설명
Name 일반 필수 특성입니다. 어셈블리의 단순한 이름을 지정합니다.
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 선택적 특성입니다. 구조체를 네이티브 코드로 마샬링하는 정책을 제어합니다.

이름 특성

설명
assembly_name 파일 확장명이 없는 어셈블리의 단순한 이름입니다. 이 특성은 AssemblyName.Name 속성에 해당합니다. 예를 들어 Extensions.dll 어셈블리의 이름은 "Extensions"입니다.

리터럴 문자열 *Application*을(를) 지정하여 어셈블리 로드 여부에 관계없이 앱 패키지의 모든 어셈블리에 정책을 적용할 수도 있습니다. *Application*을(를) 사용하는 경우 정책은 .NET Framework 어셈블리에 절대 적용되지 않습니다.

기타 모든 특성

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

자식 요소

요소 설명
<네임스페이스> 자식 네임스페이스의 모든 형식에 리플렉션 정책을 적용합니다.
<형식> 형식에 리플렉션 정책을 적용합니다.
<TypeInstantiation> 생성된 제네릭 형식에 리플렉션 정책을 적용합니다.

부모 요소

요소 설명
<애플리케이션> 런타임에 해당 메타데이터를 리플렉션에 사용할 수 있는 애플리케이션 수준 형식 및 형식 멤버에 대한 컨테이너로 사용됩니다. <Application> 요소는 <Assembly> 요소를 포함하지 않을 수도 있고 하나 이상 포함할 수도 있습니다.
<라이브러리> 런타임에 해당 메타데이터를 리플렉션에 사용할 수 있는 형식 및 형식 멤버가 포함된 어셈블리를 정의합니다. <라이브러리> 요소는 <Assembly> 요소를 포함하지 않거나 하나를 포함할 수 있습니다.

설명

<Assembly> 요소는 어셈블리의 모든 형식에 대한 런타임 정책을 정의합니다. 이 요소는 라이브러리를 지정하기는 하지만 자식 요소를 사용하여 런타임 리플렉션 정책을 정의하는 <라이브러리> 요소와는 다릅니다. <Assembly> 요소는 자식 요소에 의해 재정의되지 않으면 어셈블리의 모든 형식에 적용됩니다.

다음의 예시는 Name 특성에 "*Application*" 값을 할당하여 앱 패키지 내 어셈블리의 모든 형식에 대해 런타임 정책을 적용하는 방법에 대해 보여 줍니다. <Assembly> 요소는 <Application> 요소의 자식이어야 합니다.

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
     <Assembly Name="*Application*" Dynamic="Required All" />
  </Application>
</Directives>

Activate, Browse, DynamicSerialize 특성은 모두 선택적 항목입니다. 그러나 <Assembly> 요소는 이러한 특성을 하나 이상 포함해야 합니다.

참고 항목