CA2135: Los ensamblados de nivel 2 no deben contener LinkDemands
Elemento | Valor |
---|---|
RuleId | CA2135 |
Category | Microsoft.Security |
Cambio importante | Problemático |
Causa
Una clase o un miembro de una clase usan SecurityAction en una aplicación en la que se aplica la seguridad de nivel 2.
Nota
Esta regla está en desuso. Para más información, consulte Reglas en desuso.
Descripción de la regla
LinkDemands está desusado en el conjunto de reglas de seguridad de nivel 2. En lugar de utilizar LinkDemands para exigir la seguridad en el momento de la compilación Just-In-Time (JIT), marque los métodos, tipos y campos con el atributo SecurityCriticalAttribute.
Cómo corregir infracciones
Para corregir una infracción de esta regla, quite SecurityAction y marque el tipo o miembro con el atributo SecurityCriticalAttribute.
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla.
Ejemplo
En el ejemplo siguiente, SecurityAction se debe quitar y el método debe marcarse con el atributo SecurityCriticalAttribute.
using System;
using System.Security;
using System.Security.Permissions;
namespace TransparencyWarningsDemo
{
public class MethodsProtectedWithLinkDemandsClass
{
// CA2135 violation - the LinkDemand should be removed, and the method marked [SecurityCritical] instead
[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
public void ProtectedMethod()
{
}
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de