anchor.diff:  CA1722,IdentifiersShouldNotHaveIncorrectPrefix,Microsoft.Api.Design.Guidelines,#N/A,Identifiers should not have incorrect prefix,"By convention, only certain programming elements have names that begin with a specific prefix.",Yes,28805,234,0.00812359,548.952873,Naming,Low,,,
   CA1700,DoNotNameEnumValuesReserved,Microsoft.Api.Design.Guidelines,#N/A,Do not name enum values 'Reserved',"This rule assumes that an enumeration member that has a name that contains """"reserved"""" is not currently used but is a placeholder to be renamed or removed in a future version. Renaming or removing a member is a breaking change.",Yes,17591,143,0.008129157,522.2301097,Naming,Low,,,
   CA1025,ReplaceRepetitiveArgumentsWithParamsArray,Microsoft.Api.Design.Guidelines,#N/A,Replace repetitive arguments with params array,Use a parameter array instead of repeated arguments when the exact number of arguments is unknown and when the variable arguments are the same type or can be passed as the same type.,Yes,11210,87,0.007760928,521.7940105,Design,Low,,,
  -CA2211,NonConstantFieldsShouldNotBeVisible,Microsoft.Api.Design.Guidelines,#N/A,Non-constant fields should not be visible,Static fields that are neither constants nor read-only are not thread-safe. Access to such a field must be carefully controlled and requires advanced programming techniques to synchronize access to the class object.,Yes,752431,8608,0.011440252,513.6658574,Usage,Low,,,None
  +CA2218,OverrideGetHashCodeOnOverridingEquals,Microsoft.Api.Design.Guidelines,#N/A,Override GetHashCode on overriding Equals,"GetHashCode returns a value, based on the current instance, that is suited for hashing algorithms and data structures such as a hash table. Two objects that are the same type and are equal must return the same hash code.",Yes,34660,25,0.000721293,6294.018313,Usage,High,Merge?,,
   CA1031,DoNotCatchGeneralExceptionTypes,Microsoft.Api.Design.Guidelines,#N/A,Do not catch general exception types,"General exceptions should not be caught. Catch a more specific exception, or rethrow the general exception as the last statement in the catch block.",Yes,2802219,35947,0.012828048,502.6097536,Design,Low,,,None (similar CA2153 already ported)
   CA1062,#N/A,Microsoft.Api.Design.Guidelines,#N/A,Validate arguments of public methods,All reference arguments that are passed to externally visible methods should be checked against null.,Yes,2267308,29134,0.0128496,494.6076696,Design,Low,,,Dataflow
  -CA2227,CollectionPropertiesShouldBeReadOnly,Microsoft.Api.Design.Guidelines,#N/A,Collection properties should be read only,A writable collection property allows a user to replace the collection with a different collection. A read-only property stops the collection from being replaced but still allows the individual members to be set.,Yes,1479039,18904,0.012781272,482.7359551,Usage,Low,,,None
  +CA2224,OverrideEqualsOnOverloadingOperatorEquals,Microsoft.Api.Design.Guidelines,#N/A,Override Equals on overloading operator equals,A public type implements the equality operator but does not override Object.Equals.,Yes,7619,11,0.001443759,2688.743696,Usage,High,Merge?,,
   CA1004,GenericMethodsShouldProvideTypeParameter,Microsoft.Api.Design.Guidelines,#N/A,Generic methods should provide type parameter,"Inference is how the type argument of a generic method is determined by the type of argument that is passed to the method, instead of by the explicit specification of the type argument. To enable inference, the parameter signature of a generic method must include a parameter that is of the same type as the type parameter for the method. In this case, the type argument does not have to be specified. When using inference for all type parameters, the syntax for calling generic and non-generic instance methods is identical; this simplifies the usability of generic methods.",Yes,360357,4493,0.012468191,445.6727399,Design,Low,,,None
   CA1021,AvoidOutParameters,Microsoft.Api.Design.Guidelines,#N/A,Avoid out parameters,"Passing types by reference (using out or ref) requires experience with pointers, understanding how value types and reference types differ, and handling methods with multiple return values. Also, the difference between out and ref parameters is not widely understood.",Yes,673184,9276,0.013779294,422.9631753,Design,Low,,,None
   CA1006,DoNotNestGenericTypesInMemberSignatures,Microsoft.Api.Design.Guidelines,#N/A,Do not nest generic types in member signatures,"A nested type argument is a type argument that is also a generic type. To call a member whose signature contains a nested type argument, the user must instantiate one generic type and pass this type to the constructor of a second generic type. The required procedure and syntax are complex and should be avoided.",Yes,668354,10022,0.014995048,388.4620264,Design,Low,,,None
   CA1051,DoNotDeclareVisibleInstanceFields,Microsoft.Api.Design.Guidelines,#N/A,Do not declare visible instance fields,The primary use of a field should be as an implementation detail. Fields should be private or internal and should be exposed by using properties.,Yes,1291311,22729,0.017601492,347.1882335,Design,Low,,,None
  -CA2225,OperatorOverloadsHaveNamedAlternates,Microsoft.Api.Design.Guidelines,#N/A,Operator overloads have named alternates,"An operator overload was detected, and the expected named alternative method was not found. The named alternative member provides access to the same functionality as the operator and is provided for developers who program in languages that do not support overloaded operators.",Yes,71083,1385,0.019484265,249.009433,Usage,Low,,,
  +CA2207,InitializeValueTypeStaticFieldsInline,System.Runtime,#N/A,Initialize value type static fields inline,"A value type declares an explicit static constructor. To fix a violation of this rule, initialize all static data when it is declared and remove the static constructor.",Yes,13270,20,0.001507159,2735.524857,Usage,High,Yes,,
   CA1704,IdentifiersShouldBeSpelledCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Identifiers should be spelled correctly,The name of an externally visible identifier contains one or more words that are not recognized by the Microsoft spelling checker library.,Yes,4050045,134475,0.033203335,198.9998864,Naming,Low,,,NamingService
   CA1707,IdentifiersShouldNotContainUnderscores,Microsoft.Api.Design.Guidelines,#N/A,Identifiers should not contain underscores,"By convention, identifier names do not contain the underscore (_) character. This rule checks namespaces, types, members, and parameters.",Yes,1216136,42995,0.035353776,172.1168937,Naming,Low,,,None
   CA1709,IdentifiersShouldBeCasedCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Identifiers should be cased correctly,"By convention, parameter names use camel casing and namespace, type, and member names use Pascal casing.",Yes,3261791,137633,0.04219553,154.3636525,Naming,Low,,,NamingService
   CA1705,#N/A,Microsoft.Api.Design.Guidelines,#N/A,Long acronyms should be pascal-cased,"This rule assumes it has found an acronym when the name contains four uppercase letters in a row, or at the end of the name, three uppercase letters in a row. By convention, two-letter acronyms use all uppercase letters, and acronyms of three or more characters use Pascal casing. The following examples conform to this naming convention: 'DB', 'CR', 'Cpa', and 'Ecma'. The following examples violate the convention: 'Io', 'XML', and 'DoD', and for non-parameter names, 'xp' and 'cpl'. Naming conventions provide a common look for libraries that target the common language runtime. This reduces the learning curve required for new software libraries, and increases customer confidence that the library was developed by someone with expertise in developing managed code.",,2574,90,0.034965035,97.54340432,Naming,Low,No,Deprecated rule (replaced by 1709),
  -CA2230,UseParamsForVariableArguments,Microsoft.Api.Design.Guidelines,#N/A,Use params for variable arguments,A public or protected type contains a public or protected method that uses the VarArgs calling convention instead of the params keyword.,Yes,126,8,0.063492063,33.08083609,Usage,Low,,,
  -CA2223,MembersShouldDifferByMoreThanReturnType,Microsoft.Api.Design.Guidelines,#N/A,Members should differ by more than return type,"Although the common language runtime allows the use of return types to differentiate between otherwise identical members, this feature is not in the Common Language Specification, nor is it a common feature of .NET programming languages.",Yes,12,1,0.083333333,12.95017495,Usage,Low,,,
  -CA2226,OperatorsShouldHaveSymmetricalOverloads,Microsoft.Api.Design.Guidelines,#N/A,Operators should have symmetrical overloads,A type implements the equality or inequality operator and does not implement the opposite operator.,Yes,47,0,0,,Usage,Low,,,
  +CA2216,DisposableTypesShouldDeclareFinalizer,System.Runtime,#N/A,Disposable types should declare finalizer,"A type that implements System.IDisposable and has fields that suggest the use of unmanaged resources does not implement a finalizer, as described by Object.Finalize.",Yes,8011,13,0.001622769,2405.571878,Usage,High,Yes,,
  +CA2231,OverloadOperatorEqualsOnOverridingValueTypeEquals,Microsoft.Api.Design.Guidelines,System.Runtime.Analyzers,Overload operator equals on overriding value type Equals,"In most programming languages there is no default implementation of the equality operator (==) for value types. If your programming language supports operator overloads, you should consider implementing the equality operator. Its behavior should be identical to that of Equals",Yes,15312,25,0.001632706,2563.248351,Usage,High,Yes,,
  +CA2229,ImplementSerializationConstructors,Desktop,Microsoft.AnalyzerPowerPack,Implement serialization constructors,"To fix a violation of this rule, implement the serialization constructor. For a sealed class, make the constructor private; otherwise, make it protected.",Yes,58070,100,0.00172206,2766.426825,Usage,Low,Ported,,
   CA1718,#N/A,Microsoft.Api.Design.Guidelines,#N/A,Avoid language specific type names in parameters,"Each concatenated word in the parameter name is checked against language-specific type names, in a case-insensitive manner",,4,0,0,,Naming,Low,???,,
   CA1702,CompoundWordsShouldBeCasedCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Compound words should be cased correctly,Avoid creating compound words from terms which exist in the dictionary as discrete terms. Do not create a compound word such as 'StopWatch' or 'PopUp'. These terms are recognized in the dictionary and should be cased as 'Stopwatch' and 'Popup'.,Yes,,,,,,#N/A,No,Deprecated rule (replaced by 1709),
  -Async001,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Avoid Async Void,#N/A,,,,,,Usage,,,,
  +CA2237,MarkISerializableTypesWithSerializable,Desktop,Microsoft.AnalyzerPowerPack,Mark ISerializable types with serializable,"To be recognized by the common language runtime as serializable, types must be marked by using the SerializableAttribute attribute even when the type uses a custom serialization routine through implementation of the ISerializable interface.",Yes,517360,1135,0.00219383,2604.482703,Usage,Low,Ported,,
   Async002,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Async Method Names Should End in Async,#N/A,,,,,,Naming,,,,
  -Async003,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Don't Pass Async Lambdas as Void Returning Delegate Types,#N/A,,,,,,Usage,,,,
  -Async004,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Don't Store Async Lambdas as Void Returning Delegate Types,#N/A,,,,,,Usage,,,,
  +CA2236,CallBaseClassMethodsOnISerializableTypes,Desktop,#N/A,Call base class methods on ISerializable types,"To fix a violation of this rule, call the base type GetObjectData method or serialization constructor from the corresponding derived type method or constructor.",Yes,23555,57,0.002419868,1806.744169,Usage,Low,Yes,,
  +CA2219,DoNotRaiseExceptionsInExceptionClauses,System.Runtime,#N/A,Do not raise exceptions in exception clauses,"When an exception is raised in a finally or fault clause, the new exception hides the active exception. When an exception is raised in a filter clause, the run time silently catches the exception. This makes the original error difficult to detect and debug.",Yes,14661,36,0.002455494,1696.670124,Usage,High,Yes,,
   Async005,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Propagate CancellationTokens When Possible,#N/A,,,,,,Library,,,,
  -Async006,#N/A,Microsoft.Api.Design.Guidelines,AsyncPackage,Don't Mix Blocking and Async,#N/A,,,,,,Usage,,,,
  +CA2232,MarkWindowsFormsEntryPointsWithStaThread,Desktop,#N/A,Mark Windows Forms entry points with STAThread,"STAThreadAttribute indicates that the COM threading model for the application is a single-threaded apartment. This attribute must be present on the entry point of any application that uses Windows Forms; if it is omitted, the Windows components might not work correctly.",Yes,17032,43,0.002524659,1675.974803,Usage,Low,Yes,,
   RS1001,#N/A,Microsoft.CodeAnalysis.Analyzers,Microsoft.CodeAnalysis.Analyzers,Missing diagnostic analyzer attribute,"Non-abstract sub-types of DiagnosticAnalyzer should be marked with DiagnosticAnalyzerAttribute(s). The argument to this attribute(s), if any, determine the supported languages for the analyzer. Analyzer types without this attribute will be ignored by the analysis engine.",,,,,,AnalyzerCorrectness,,,,
   RS1002,#N/A,Microsoft.CodeAnalysis.Analyzers,Microsoft.CodeAnalysis.Analyzers,Missing kind argument while registering an analyzer action,"You must specify at least one syntax/symbol kinds of interest while registering a syntax/symbol analyzer action. Otherwise, the registered action will be dead code and will never be invoked during analysis.",,,,,,AnalyzerCorrectness,,,,
   RS1003,#N/A,Microsoft.CodeAnalysis.Analyzers,Microsoft.CodeAnalysis.Analyzers,Unsupported SymbolKind argument while registering a symbol analyzer action,#N/A,,,,,,AnalyzerCorrectness,,,,
  
positive.code: CA1813,AvoidUnsealedAttributes,System.Runtime,System.Runtime.Analyzers,Avoid unsealed attributes,"The .NET Framework class library provides methods for retrieving custom attributes. By default, these methods search the attribute inheritance hierarchy. Sealing the attribute eliminates the search through the inheritance hierarchy and can improve performance.",Yes,219135,401,0.001829922,2918.545808,Performance,High,Ported,,
  CA1309,UseOrdinalStringComparison,System.Runtime,System.Runtime.Analyzers,Use ordinal stringcomparison,"A string comparison operation that is nonlinguistic does not set the StringComparison parameter to either Ordinal or OrdinalIgnoreCase. By explicitly setting the parameter to either StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase, your code often gains speed, becomes more correct, and becomes more reliable.",Yes,450803,879,0.001949854,2899.697623,Globalization,High,Ported,,
  CA2134,#N/A,System.Runtime,#N/A,Methods must keep consistent transparency when overriding base methods,This rule is raised when a method marked by using the SecurityCriticalAttribute overrides a method that is transparent or marked by using the SecuritySafeCriticalAttribute. The rule also is raised when a method that is transparent or marked by using the SecuritySafeCriticalAttribute overrides a method that is marked by using a SecurityCriticalAttribute. The rule is applied when overriding a virtual method or implementing an interface.,No,3916,5,0.001276813,2813.914389,Security,Low,,,
  CA2229,ImplementSerializationConstructors,System.Runtime,Microsoft.AnalyzerPowerPack,Implement serialization constructors,"To fix a violation of this rule, implement the serialization constructor. For a sealed class, make the constructor private; otherwise, make it protected.",Yes,58070,100,0.00172206,2766.426825,Usage,Low,,,
  CA2207,InitializeValueTypeStaticFieldsInline,System.Runtime,#N/A,Initialize value type static fields inline,"A value type declares an explicit static constructor. To fix a violation of this rule, initialize all static data when it is declared and remove the static constructor.",Yes,13270,20,0.001507159,2735.524857,Usage,Low,,,
  CA2237,MarkISerializableTypesWithSerializable,System.Runtime,Microsoft.AnalyzerPowerPack,Mark ISerializable types with serializable,"To be recognized by the common language runtime as serializable, types must be marked by using the SerializableAttribute attribute even when the type uses a custom serialization routine through implementation of the ISerializable interface.",Yes,517360,1135,0.00219383,2604.482703,Usage,High,Ported,,
  CA1307,SpecifyStringComparison,System.Runtime,#N/A,Specify StringComparison,A string comparison operation uses a method overload that does not set a StringComparison parameter.,Yes,1556401,3723,0.002392057,2588.617807,Globalization,High,,,None
  CA2202,#N/A,System.Runtime,#N/A,Do not dispose objects multiple times,A method implementation contains code paths that could cause multiple calls to System.IDisposable.Dispose or a Dispose equivalent (such as a Close() method on some types) on the same object.,Yes,1034185,2477,0.002395123,2511.18582,Usage,High,,,Dataflow
  CA2143,#N/A,System.Runtime,#N/A,Transparent methods should not use security demands,"Security transparent code should not be responsible for verifying the security of an operation, and therefore should not demand permissions. Security transparent code should use full demands to make security decisions and safe-critical code should not rely on transparent code to have made the full demand.",No,13049,22,0.001685953,2441.098513,Security,Low,,,
  CA2216,DisposableTypesShouldDeclareFinalizer,System.Runtime,#N/A,Disposable types should declare finalizer,"A type that implements System.IDisposable and has fields that suggest the use of unmanaged resources does not implement a finalizer, as described by Object.Finalize.",Yes,8011,13,0.001622769,2405.571878,Usage,Low,,,
  CA1816,CallGCSuppressFinalizeCorrectly,System.Runtime,#N/A,Dispose methods should call SuppressFinalize,A method that is an implementation of Dispose does not call GC.SuppressFinalize; or a method that is not an implementation of Dispose calls GC.SuppressFinalize; or a method calls GC.SuppressFinalize and passes something other than this (Me in Visual?Basic).,Yes,443318,1136,0.002562495,2203.600847,Performance,High,,,None
  CA2213,DisposableFieldsShouldBeDisposed,System.Runtime,System.Runtime.Analyzers,Disposable fields should be disposed,A type that implements System.IDisposable declares fields that are of types that also implement IDisposable. The Dispose method of the field is not called by the Dispose method of the declaring type.,Yes,347843,920,0.002644871,2095.142804,Usage,High,Ported,,Dataflow
  CA2200,RethrowToPreserveStackDetails,System.Runtime,Microsoft.AnalyzerPowerPack,Rethrow to preserve stack details,"An exception is rethrown and the exception is explicitly specified in the throw statement. If an exception is rethrown by specifying the exception in the throw statement, the list of method calls between the original method that threw the exception and the current method is lost.",Yes,713166,2048,0.002871702,2038.230737,Usage,High,Ported,,
  CA1304,SpecifyCultureInfo,System.Runtime,#N/A,Specify CultureInfo,"A method or constructor calls a member that has an overload that accepts a System.Globalization.CultureInfo parameter, and the method or constructor does not call the overload that takes the CultureInfo parameter. When a CultureInfo or System.IFormatProvider object is not supplied, the default value that is supplied by the overloaded member might not have the effect that you want in all locales.",Yes,1301330,3995,0.003069936,1991.698576,Globalization,High,,,None
  CA2236,CallBaseClassMethodsOnISerializableTypes,System.Runtime,#N/A,Call base class methods on ISerializable types,"To fix a violation of this rule, call the base type GetObjectData method or serialization constructor from the corresponding derived type method or constructor.",Yes,23555,57,0.002419868,1806.744169,Usage,Low,,,
  CA2208,InstantiateArgumentExceptionsCorrectly,System.Runtime,#N/A,Instantiate argument exceptions correctly,"A call is made to the default (parameterless) constructor of an exception type that is or derives from ArgumentException, or an incorrect string argument is passed to a parameterized constructor of an exception type that is or derives from ArgumentException.",Yes,774590,2637,0.003404382,1729.850661,Usage,High,,,IOperation
  CA2219,DoNotRaiseExceptionsInExceptionClauses,System.Runtime,#N/A,Do not raise exceptions in exception clauses,"When an exception is raised in a finally or fault clause, the new exception hides the active exception. When an exception is raised in a filter clause, the run time silently catches the exception. This makes the original error difficult to detect and debug.",Yes,14661,36,0.002455494,1696.670124,Usage,Low,,,
  CA2123,#N/A,System.Runtime,#N/A,Override link demands should be identical to base,"This rule matches a method to its base method, which is either an interface or a virtual method in another type, and then compares the link demands on each. If this rule is violated, a malicious caller can bypass the link demand just by calling the unsecured method.",No,138994,437,0.003144021,1635.802273,Security,High,,,FxCopSDKUtilties
  CA1810,InitializeReferenceTypeStaticFieldsInline,System.Runtime,#N/A,Initialize reference type static fields inline,"When a type declares an explicit static constructor, the just-in-time (JIT) compiler adds a check to each static method and instance constructor of the type to make sure that the static constructor was previously called. Static constructor checks can decrease performance.",Yes,755408,2731,0.003615265,1625.933867,Performance,High,,,None
  CA2105,ArrayFieldsShouldNotBeReadOnly,System.Runtime,#N/A,Array fields should not be read only,"When you apply the read-only (ReadOnly in Visual Basic) modifier to a field that contains an array, the field cannot be changed to reference a different array. However, the elements of the array that are stored in a read-only field can be changed.",Yes,58839,177,0.003008209,1585.549919,Security,Low,,,
  CA1805,#N/A,System.Runtime,#N/A,Do not initialize unnecessarily,"The common language runtime initializes all fields to their default values before running the constructor. In most cases, initializing a field to its default value in a constructor is redundant, which degrades performance and adds to maintenance costs. One case where it is not redundant occurs when the constructor calls another constructor of the same class or a base class constructor and that constructor initializes the field to a non-default value. In this case, changing the value of the field back to its default value can be appropriate.",,900111,3408,0.0037862,1572.631276,Performance,High,Yes,,
  CA2215,#N/A,System.Runtime,#N/A,Dispose Methods Should Call Base Class Dispose,"If a type inherits from a disposable type, it must call the Dispose method of the base type from its own Dispose method.",Yes,37586,119,0.003166072,1445.01623,Usage,Low,,,
  CA2002,DoNotLockOnObjectsWithWeakIdentity,System.Runtime,System.Runtime.Analyzers,Do not lock on objects with weak identity,An object is said to have a weak identity when it can be directly accessed across application domain boundaries. A thread that tries to acquire a lock on an object that has a weak identity can be blocked by a second thread in a different application domain that has a lock on the same object.,Yes,123953,440,0.003549733,1434.828387,Reliability,High,Ported,,
  CA1802,UseLiteralsWhereAppropriate,System.Runtime,#N/A,Use literals where appropriate,"A field is declared static and read-only (Shared and ReadOnly in Visual Basic), and is initialized by using a value that is computable at compile time. Because the value that is assigned to the targeted field is computable at compile time, change the declaration to a const (Const in Visual Basic) field so that the value is computed at compile time instead of at run?time.",Yes,156024,573,0.003672512,1414.070674,Performance,High,,,None
  CA2214,DoNotCallOverridableMethodsInConstructors,System.Runtime,Microsoft.AnalyzerPowerPack,Do not call overridable methods in constructors,"When a constructor calls a virtual method, the constructor for the instance that invokes the method may not have executed.",Yes,681532,2824,0.004143606,1407.828453,Usage,High,Ported,,
  CA1800,DoNotCastUnnecessarily,System.Runtime,#N/A,Do not cast unnecessarily,"Duplicate casts decrease performance, especially when the casts are performed in compact iteration statements.",Yes,1161244,5060,0.004357396,1391.868776,Performance,High,No,,RemoveUnnecessaryCast IDE CodeFix
  CA2233,OperationsShouldNotOverflow,System.Runtime,#N/A,Operations should not overflow,You should not perform arithmetic operations without first validating the operands. This makes sure that the result of the operation is not outside the range of possible values for the data types that are involved.,Yes,177875,717,0.004030921,1302.460516,Usage,High,,,IOperation
  CA2235,MarkAllNonSerializableFields,System.Runtime,Microsoft.AnalyzerPowerPack,Mark all non-serializable fields,An instance field of a type that is not serializable is declared in a type that is serializable.,Yes,136128,564,0.004143159,1239.138299,Usage,High,Ported,,
  CA2004,RemoveCallsToGCKeepAlive,System.Runtime,#N/A,Remove calls to GC.KeepAlive,"If you convert to SafeHandle usage, remove all calls to GC.KeepAlive (object). In this case, classes should not have to call GC.KeepAlive. This assumes they do not have a finalizer but rely on SafeHandle to finalize the OS handle for them.",Yes,16938,72,0.004250797,994.8398157,Reliability,Low,,,
  CA2201,DoNotRaiseReservedExceptionTypes,System.Runtime,#N/A,Do not raise reserved exception types,This makes the original error difficult to detect and debug.,Yes,1439723,9215,0.006400537,962.150389,Usage,High,,,None
  CA2111,PointersShouldNotBeVisible,System.Runtime,#N/A,Pointers should not be visible,"A pointer is not private, internal, or read-only. Malicious code can change the value of the pointer, which potentially gives access to arbitrary locations in memory or causes application or system failures.",Yes,49556,248,0.005004439,938.1862479,Security,Low,,,
  CA2119,SealMethodsThatSatisfyPrivateInterfaces,System.Runtime,#N/A,Seal methods that satisfy private interfaces,"An inheritable public type provides an overridable method implementation of an internal (Friend in Visual Basic) interface. To fix a violation of this rule, prevent the method from being overridden outside the assembly.",Yes,16649,76,0.004564839,924.7617285,Security,Low,,,
  CA2109,ReviewVisibleEventHandlers,System.Runtime,#N/A,Review visible event handlers,A public or protected event-handling method was detected. Event-handling methods should not be exposed unless absolutely necessary.,Yes,249217,1465,0.005878411,918.0333759,Security,High,,,None
  
negative.code: CA5357,RijndaelCannotBeUsed,System.Security.Cryptography.Algorithms,#N/A,Do not use Rijndael,Rijndael is not recommended by SDL,No,,,,,,,,,
  CA3066,ReviewWebControlForSet_Data,System.Web,#N/A,Review WebControl for set_Data,"Review code to insure that System.Web.UI.WebControls.XmlDataSource::Data is set from a trusted source. This pattern internally enables DTD processing in XML and uses UrlResolver for resolving external XML entities, which, on untrusted input, may lead to information disclosure. Content from file system or network shares for the machine processing the XML can be exposed to attacker. In addition, an attacker can use this as a DoS vector.",No,,,,,,,,,
  CA3067,ReviewWebControlForSet_DocumentContent,System.Web,#N/A,Review WebControl for set_DocumentContent,"Review code to insure that System.Web.UI.WebControls.Xml::DocumentContent is set from a trusted source. This pattern internally enables DTD processing in XML and uses UrlResolver for resolving external XML entities, which, on untrusted input, may lead to information disclosure. Content from file system or network shares for the machine processing the XML can be exposed to attacker. In addition, an attacker can use this as a DoS vector.",No,,,,,,,,,
  RS0004,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Invoke the correct property to ensure correct use site diagnostics.,#N/A,,,,,,Usage,,,,
  CA1300,SpecifyMessageBoxOptions,System.Windows.Forms,#N/A,Specify MessageBoxOptions,"To correctly display a message box for cultures that use a right-to-left reading order, the RightAlign and RtlReading members of the MessageBoxOptions enumeration must be passed to the Show method.",Yes,283590,2427,0.00855813,637.1358121,Globalization,High,,,None
  CA1301,AvoidDuplicateAccelerators,System.Windows.Forms,#N/A,Avoid duplicate accelerators,"An access key, also known as an accelerator, enables keyboard access to a control by using the ALT key. When multiple controls have duplicate access keys, the behavior of the access key is not well defined.",Yes,2707,16,0.005910602,580.7341068,Globalization,Low,,,
  CA3050,DoNotUseXslTransform,System.Xml,#N/A,Do not use XslTransform,"Do not use obsolete and unsafe System.Xml.Xsl.XslTransform API. This API allows processing script within XSL, which, on untrusted XSL input, may lead to malicious code execution.",No,,,,,,,,,
  