<NetFx40_LegacySecurityPolicy> 元素

指定執行階段是否使用舊版程式碼存取安全性 (CAS) 原則。

<設定>
  <執行階段>
    <NetFx40_LegacySecurityPolicy>

注意

程式碼啟用安全性 (CAS) 在所有版本的 .NET Framework 和 .NET 中已被取代。 最新版本的 .NET 不接受 CAS 批註,並在使用 CAS 相關 API 時產生錯誤。 開發人員應尋求替代方案來完成安全性工作。

Syntax

<NetFx40_LegacySecurityPolicy
   enabled="true|false"/>

屬性和項目

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
enabled 必要屬性。

指定執行階段是否使用舊版 CAS 原則。

啟用屬性

描述
false 執行階段不使用舊版 CAS 原則。 此為預設值。
true 執行階段使用舊版 CAS 原則。

子元素

無。

父項目

元素 Description
configuration 通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。
runtime 包含有關執行階段初始化選項的資訊。

備註

在 .NET Framework 3.5 版和更早版本中,CAS 原則一律有效。 在 .NET Framework 4 中,必須啟用 CAS 原則。

CAS 原則具版本特定性。 .NET Framework 4 必須重新指定存在於舊版.NET Framework中的自訂 CAS 原則。

<NetFx40_LegacySecurityPolicy> 元素套用至 .NET Framework 4 元件不會影響安全性透明程式碼;透明度規則仍適用。

重要

套用 <NetFx40_LegacySecurityPolicy> 元素可能會導致由原生映像產生器 (Ngen.exe) 所建立的原生映像組件效能顯著降低,若其未安裝在全域組件快取。 效能降低是因為當套用屬性時,執行階段無法載入組件為原生映像,導致其載入為 Just-In-Time 組件。

注意

如果您在 Visual Studio 專案的專案設定中指定早于 .NET Framework 4 的目標.NET Framework版本,則會啟用 CAS 原則,包括您為該版本指定的任何自訂 CAS 原則。 不過,您將無法使用新的 .NET Framework 4 個類型和成員。 您也可以在應用程式組態檔的啟動設定架構中使用< supportedRuntime > 元素,來指定舊版的 .NET Framework。

注意

組態檔語法會區分大小寫。 您應利用語法與範例區段提供的語法。

組態檔

此元素僅可用於應用程式組態檔。

範例

下列範例示範如何為應用程式啟用舊版 CAS 原則。

<configuration>
   <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
</configuration>

另請參閱