共用方式為


<Assembly> 元素 (.NET Native)

將執行階段反映原則套用至指定組件中的所有類型。

語法

<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 選用屬性。 控制將結構封送處理至機器碼的原則。

Name 屬性

Description
assembly_name 組件的簡單名稱,不包含其副檔名。 這個屬性 (Attribute) 會對應至 AssemblyName.Name 屬性 (Property)。 例如,名為 Extensions.dll 之組件的名稱是 "Extensions"。

您也可以指定常值字串 *Application*,以將原則套用至應用程式套件中的所有組件 (無論這些組件是否已載入)。 *Application* 永遠不會將原則套用至 .NET Framework 組件。

所有其他屬性

Description
policy_setting 針對組件中的所有類型,要套用到此原則類型的設定。 可能的值為 AllAutoExcludedPublicPublicAndInternalRequired PublicRequired PublicAndInternalRequired All。 如需詳細資訊,請參閱執行階段指示詞原則設定

子元素

元素 描述
<Namespace> 將反映原則套用至子命名空間中的所有類型。
<類型> 將反映原則套用至類型。
<TypeInstantiation> 將反映原則套用至建構的泛型類型。

父項目

元素 Description
<應用程式> 做為容器,以包含整個應用程式的類型,以及中繼資料可在執行階段用於反映的類型成員。 <Application> 元素可以有零、一或多個 <Assembly> 元素。
<程式庫> 定義包含類型和類型成員的組件,這些類型和類型成員的中繼資料可在執行階段用於反映。 <Library> 元素可以有零或一個 <Assembly> 元素。

備註

<Assembly> 元素可定義組件中所有類型的執行階段原則。 其不同於 <Library> 元素,後者會指定程式庫,但會依據其子元素來定義執行階段反映原則。 <Assembly> 元素會套用至組件中的所有類型,除非是被子元素覆寫。

下列範例顯示如何為 Name 屬性指定 "*Application" 的值,以在您的應用程式套件中,將執行階段原則套用至組件中的所有類型。 <Assembly> 元素必須是 <Application> 元素的子項。

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

ActivateBrowseDynamicSerialize 都是選用屬性。 不過,<Assembly> 元素必須包含至少其中一個屬性。

另請參閱