CA2135:層級 2 組件不應該包含 LinkDemand
型別名稱 |
SecurityRuleSetLevel2MethodsShouldNotBeProtectedWithLinkDemands |
CheckId |
CA2135 |
分類 |
Microsoft.Security |
中斷變更 |
中斷 |
原因
類別或類別成員在使用層級 2 安全性的應用程式中使用 LinkDemand。
規則描述
LinkDemand 在層級 2 安全性規則集中已被取代。 不使用 LinkDemands 強制 Just-In-Time (JIT) 編譯時間強制的安全性,改為將方法、型別和欄位標記 SecurityCriticalAttribute 屬性。
如何修正違規
若要修正此規則的違規情形,請移除 LinkDemand,炳且在型別或成員標記 SecurityCriticalAttribute 屬性。
隱藏警告的時機
請勿隱藏此規則的警告。
範例
在下列範例中應移除 LinkDemand,並將方法標記 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()
{
}
}
}