Elemento <NetFx40_LegacySecurityPolicy>

Especifica si el runtime usa la directiva de seguridad de acceso al código (CAS) heredada.

<configuration>
  <runtime>
    <NetFx40_LegacySecurityPolicy>

Nota

La seguridad de acceso del código (CAS) ha quedado en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y generan errores si se usan API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Sintaxis

<NetFx40_LegacySecurityPolicy
   enabled="true|false"/>

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
enabled Atributo necesario.

Especifica si el tiempo de ejecución usa la directiva CAS heredada.

Atributo enabled

Valor Descripción
false El tiempo de ejecución no usa la directiva CAS heredada. Este es el valor predeterminado.
true El tiempo de ejecución usa la directiva CAS heredada.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
configuration Elemento raíz de cada archivo de configuración usado por las aplicaciones de Common Language Runtime y .NET Framework.
runtime Contiene información sobre las opciones de inicialización del motor en tiempo de ejecución.

Comentarios

En .NET Framework versión 3.5 y versiones anteriores, la directiva CAS siempre está en vigor. En .NET Framework 4, la directiva CAS debe habilitarse.

La directiva CAS es específica de cada versión. Las directivas CAS personalizadas que existen en versiones anteriores de .NET Framework se deben volver a especificar en .NET Framework 4.

Aplicar el elemento <NetFx40_LegacySecurityPolicy> a un ensamblado de .NET Framework 4 no afecta al código transparente de seguridad; las reglas de transparencia siguen aplicándose.

Importante

La aplicación del elemento <NetFx40_LegacySecurityPolicy> puede dar lugar a importantes penalizaciones de rendimiento para los ensamblados de imagen nativos creados por el generador de imágenes nativas (Ngen.exe) que no están instalados en la caché global de ensamblados. La degradación del rendimiento se debe a la incapacidad del tiempo de ejecución para cargar los ensamblados como imágenes nativas cuando se aplica el atributo, lo que da lugar a que se carguen como ensamblados Just-In-Time.

Nota

Si especifica una versión de .NET Framework de destino anterior a .NET Framework 4 en la configuración del proyecto para el proyecto de Visual Studio, se habilitará la directiva CAS, incluidas las directivas CAS personalizadas que especificó para esa versión. Sin embargo, no podrá usar nuevos tipos y miembros de .NET Framework 4. También puede especificar una versión anterior de .NET Framework mediante el elemento <supportedRuntime> en el esquema de configuración de inicio del archivo de configuración de la aplicación.

Nota

La sintaxis del archivo de configuración distingue mayúsculas de minúsculas. Debe usar la sintaxis tal como se proporciona en las secciones Sintaxis y Ejemplo.

Archivo de configuración

Este elemento solo se puede utilizar en el archivo de configuración de la aplicación.

Ejemplo

En el ejemplo siguiente se muestra cómo habilitar la directiva CAS heredada para una aplicación.

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

Consulte también