<NetFx40_LegacySecurityPolicy> 要素
ランタイムがレガシ コード アクセス セキュリティ (CAS) ポリシーを使用するかどうかを指定します。
configuration
runtime
<NetFx40_LegacySecurityPolicy>
Note
コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS 関連の API が使われている場合、CAS の注釈は使われず、エラーが発生します。 開発者は、代わりの手段を見つけてセキュリティ タスクを実現する必要があります。
構文
<NetFx40_LegacySecurityPolicy
enabled="true|false"/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
enabled |
必須の属性です。 ランタイムで従来の CAS ポリシーを使用するかどうかを指定します。 |
enabled 属性
[値] | 説明 |
---|---|
false |
ランタイムでは、従来の CAS ポリシーは使用されません。 既定値です。 |
true |
ランタイムでは、従来の CAS ポリシーが使用されます。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
runtime |
ランタイム初期化オプションに関する情報を含んでいます。 |
解説
.NET Framework Version 3.5 以前のバージョンでは、CAS ポリシーは常に有効です。 .NET Framework 4 では、CAS ポリシーを有効にする必要があります。
CAS ポリシーはバージョン固有です。 以前のバージョンの .NET Framework に存在するカスタム CAS ポリシーは、.NET Framework 4 で再指定する必要があります。
<NetFx40_LegacySecurityPolicy>
要素を .NET Framework 4 アセンブリに適用しても、透過的セキュリティ コードには影響しません。透過性規則が引き続き適用されます。
重要
<NetFx40_LegacySecurityPolicy>
要素を適用すると、グローバル アセンブリ キャッシュにインストールされていないネイティブ イメージ ジェネレーター (Ngen.exe) によって作成されたネイティブ イメージ アセンブリのパフォーマンスが大幅に低下する可能性があります。 パフォーマンスの低下は、属性が適用されたときにランタイムでアセンブリをネイティブ イメージとして読み込むことができず、結果的に Just-In-Time アセンブリとして読み込まれることが原因で発生します。
Note
Visual Studio プロジェクトのプロジェクト設定で、.NET Framework 4 より前のターゲット .NET Framework バージョンを指定した場合、そのバージョンに指定したカスタム CAS ポリシーも含めて、CAS ポリシーが有効になります。 ただし、新しい .NET Framework 4 の型とメンバーを使用することはできません。 アプリケーション構成ファイルのスタートアップ設定スキーマの <supportedRuntime> 要素を使用して、以前のバージョンの .NET Framework を指定することもできます。
Note
構成ファイルの構文では、大文字と小文字が区別されます。 「構文」セクションと「例」セクションに記載されている構文を使用する必要があります。
構成ファイル
この要素は、アプリケーション構成ファイルでのみ使用できます。
例
アプリケーションで従来の CAS ポリシーを有効にする方法を次の例に示します。
<configuration>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
関連項目
.NET