CA2135 : Les assemblys de niveau 2 ne doivent pas contenir de LinkDemands
Élément | Valeur |
---|---|
ID de la règle | CA2135 |
Category | Microsoft.Security |
Modification avec rupture | Rupture |
Cause
Un membre de classe ou une classe utilise SecurityAction dans une application qui utilise la sécurité de niveau 2.
Notes
Cette règle est déconseillée. Pour plus d’informations, consultez Règles dépréciées.
Description de la règle
L’utilisation de LinkDemands est déconseillée dans l’ensemble de règles de sécurité de niveau 2. Au lieu d’utiliser LinkDemands pour implémenter la sécurité au moment de la compilation juste-à-temps (JIT), marquez les méthodes, types et champs avec l’attribut SecurityCriticalAttribute.
Comment corriger les violations
Pour corriger une violation de cette règle, supprimez SecurityAction et marquez le type ou le membre avec l’attribut SecurityCriticalAttribute.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle.
Exemple
Dans l’exemple suivant, SecurityAction doit être supprimé et la méthode doit être marquée avec l’attribut 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()
{
}
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour