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