指定运行时是否使用旧代码访问安全性 (CAS) 策略。
<配置>
<运行时>
<NetFx40_LegacySecurityPolicy>
注释
代码访问安全性(CAS)已在 .NET Framework 和 .NET 的所有版本中弃用。 使用与 CAS 相关的 API 时,最新版本的 .NET 不遵循 CAS 注释并生成错误。 开发人员应寻求完成安全任务的替代方法。
Syntax
<NetFx40_LegacySecurityPolicy
enabled="true|false"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
enabled |
必需属性。 指定运行时是否使用旧版 CAS 策略。 |
enabled Attribute
| 价值 | 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 程序集不会影响 安全透明代码;透明度规则仍适用。
重要
<NetFx40_LegacySecurityPolicy>应用该元素可能会导致本机映像生成器(Ngen.exe)创建的本机映像程序集的性能损失,这些程序集未安装在全局程序集缓存中。 性能下降的原因是运行时在应用属性时无法将程序集加载为本机映像,从而导致其加载为实时程序集。
注释
如果在 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>