Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
TypeName |
SecurityRuleSetLevel2MethodsShouldNotBeProtectedWithLinkDemands |
CheckId |
CA2135 |
Category |
Microsoft.Security |
Breaking Change |
Breaking |
Cause
A class or class member is using a LinkDemand in an application that is using Level 2 security.
Rule Description
LinkDemands are deprecated in the level 2 security rule set. Instead of using LinkDemands to enforce security at just-in-time (JIT) compilation time, mark the methods, types, and fields with the SecurityCriticalAttribute attribute.
How to Fix Violations
To fix a violation of this rule, remove the LinkDemand and mark the type or member with the SecurityCriticalAttribute attribute.
When to Suppress Warnings
Do not suppress a warning from this rule.
Example
In the following example, the LinkDemand should be removed and the method marked with the SecurityCriticalAttribute attribute.
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()
{
}
}
}