<어셈블리> 요소(.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 PublicAndInternal 및 Required 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
, Dynamic
및 Serialize
특성은 모두 선택적 항목입니다. 그러나 <Assembly>
요소는 이러한 특성을 하나 이상 포함해야 합니다.