anchor.diff:  CA1008,EnumsShouldHaveZeroValue,Microsoft.Api.Design.Guidelines,Microsoft.AnalyzerPowerPack,Enums should have zero value,"The default value of an uninitialized enumeration, just as other value types, is zero. A nonflags-attributed enumeration should define a member by using the value of zero so that the default value is a valid value of the enumeration. If an enumeration that has the FlagsAttribute attribute applied defines a zero-valued member, its name should be """"None"""" to indicate that no values have been set in the enumeration.",Yes,569246,1776,0.003119917,1844.696789,Design,High,Ported,,
   CA1724,TypeNamesShouldNotMatchNamespaces,Microsoft.Api.Design.Guidelines,#N/A,Type names should not match namespaces,Type names should not match the names of namespaces that are defined in the .NET Framework class library. Violating this rule can reduce the usability of the library.,Yes,633745,1999,0.003154266,1839.38686,Naming,High,,,Hardcoded table
   CA1063,ImplementIDisposableCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Implement IDisposable Correctly,All IDisposable types should implement the Dispose pattern correctly.,Yes,638117,2035,0.00318907,1820.248439,Design,High,,,None
  -CA2221,FinalizersShouldBeProtected,System.Runtime,#N/A,Finalizers should be protected,Finalizers must use the family access modifier.,Yes,10,0,0,,Usage,Low,Cut,,
  +CA2221,FinalizersShouldBeProtected,System.Runtime,#N/A,Finalizers should be protected,Finalizers must use the family access modifier.,Yes,10,0,0,,Usage,Low,Cut,,N/A
   CA1009,DeclareEventHandlersCorrectly,Microsoft.Api.Design.Guidelines,#N/A,Declare event handlers correctly,"Event handler methods take two parameters. The first is of type System.Object and is named """"sender"""". This is the object that raised the event. The second parameter is of type System.EventArgs and is named """"e"""". This is the data that is associated with the event. Event handler methods should not return a value; in the C# programming language, this is indicated by the return type void.",Yes,358275,1202,0.003354965,1655.521563,Design,High,,,None
   CA1044,PropertiesShouldNotBeWriteOnly,Microsoft.Api.Design.Guidelines,#N/A,Properties should not be write only,"Although it is acceptable and often necessary to have a read-only property, the design guidelines prohibit the use of write-only properties. This is because letting a user set a value, and then preventing the user from viewing that value, does not provide any security. Also, without read access, the state of shared objects cannot be viewed, which limits their usefulness.",Yes,282895,935,0.003305113,1649.451905,Design,High,,,None
   CA1046,DoNotOverloadOperatorEqualsOnReferenceTypes,Microsoft.Api.Design.Guidelines,#N/A,Do not overload operator equals on reference types,"For reference types, the default implementation of the equality operator is almost always correct. By default, two references are equal only if they point to the same object.",Yes,4107,9,0.002191381,1648.971773,Design,Low,,,
  
positive.code: RS0023,#N/A,NotCategorized,Roslyn.Diagnostics.Analyzers,Parts exported with MEFv2 must be marked as Shared,#N/A,,,,,,Reliability,,,,
  RS0001,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Use SpecializedCollections.EmptyEnumerable(),#N/A,,,,,,Performance,,,,
  RS0002,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Use SpecializedCollections.SingletonEnumerable(),#N/A,,,,,,Performance,,,,
  CA2222,DoNotDecreaseInheritedMemberVisibility,Microsoft.Api.Design.Guidelines,#N/A,Do not decrease inherited member visibility,You should not change the access modifier for inherited members. Changing an inherited member to private does not prevent callers from accessing the base class implementation of the method.,Yes,64588,185,0.002864309,1679.34101,Usage,High,Yes,,
  RS0005,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Do not use generic CodeAction.Create to create CodeAction,#N/A,,,,,,Performance,,,,
  RS0013,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Do not invoke Diagnostic.Descriptor,"Accessing the Descriptor property of Diagnostic in compiler layer leads to unnecessary string allocations for fields of the descriptor that are not utilized in command line compilation. Hence, you should avoid accessing the Descriptor of the compiler diagnostics here. Instead you should directly access these properties off the Diagnostic type.",,,,,,Performance,,,,
  RS0016,#N/A,Roslyn.Diagnostics.Analyzers,Roslyn.Diagnostics.Analyzers,Add public types and members to the declared API,"All public types and members should be declared in PublicAPI.txt. This draws attention to API changes in the code reviews and source control history, and helps prevent breaking changes.",,,,,,ApiDesign,,,,
  
negative.code: CA2243,AttributeStringLiteralsShouldParseCorrectly,System.Runtime,#N/A,Attribute string literals should parse correctly,"The string literal parameter of an attribute does not parse correctly for a URL, a GUID, or a version.",Yes,63488,553,0.008710307,551.3802662,Usage,High,Yes,,WordParser
  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
  CA2240,ImplementISerializableCorrectly,Desktop,#N/A,Implement ISerializable correctly,"To fix a violation of this rule, make the GetObjectData method visible and overridable, and make sure that all instance fields are included in the serialization process or explicitly marked by using the NonSerializedAttribute attribute.",Yes,254727,2301,0.0090332,598.4673019,Usage,Low,Yes,,None
  CA2123,OverrideLinkDemandsShouldBeIdenticalToBase,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,DoNotInitializeUnnecessarily,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,,
  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,High,Yes,,None
  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
  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,High,Yes,,None
  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,Cut,,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
  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,High,Yes,,HardCoded list of alternates
  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,,,
  CA2228,DoNotShipUnreleasedResourceFormats,System.Runtime,#N/A,Do not ship unreleased resource formats,Resource files that were built by using prerelease versions of the .NET Framework might not be usable by supported versions of the .NET Framework.,Yes,2033,45,0.022134776,149.4542954,Usage,High,Cut,,N/A
  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
  CA2135,SecurityRuleSetLevel2MethodsShouldNotBeProtectedWithLinkDemands,System.Runtime,#N/A,Level2 methods should not be protected with link demands,"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.",No,72950,390,0.005346127,909.6351163,Security,Low,,,
  CA2000,DisposeObjectsBeforeLosingScope,System.Runtime,#N/A,Dispose Objects Before Losing Scope,"Because an exceptional event might occur that will prevent the finalizer of an object from running, the object should be explicitly disposed before all references to it are out of scope.",Yes,2950496,21737,0.007367236,878.1984362,Reliability,High,,,Dataflow
  CA2140,TransparentMethodsMustNotReferenceCriticalCode,System.Runtime,#N/A,Transparent code must not reference security critical items,"Methods that are marked by SecurityTransparentAttribute call nonpublic members that are marked as SecurityCritical. This rule analyzes all methods and types in an assembly that is mixed transparent/critical, and flags any calls from transparent code to nonpublic critical code that are not marked as SecurityTreatAsSafe.",No,13305,64,0.004810222,857.3440307,Security,Low,,,
  CA1308,NormalizeStringsToUppercase,System.Runtime,#N/A,Normalize strings to uppercase,Strings should be normalized to uppercase. A small group of characters cannot make a round trip when they are converted to lowercase.,Yes,465112,3117,0.006701612,845.7006816,Naming,High,,,None
  CA1903,UseOnlyApiFromTargetedFramework,System.Runtime,#N/A,Use only api from targeted framework,A member or type is using a member or type that was introduced in a service pack that was not included together with the targeted framework of the project.,Yes,114762,732,0.006378418,793.2685116,Portability,High,,,FrameworkCompatibilityService
  CA1302,DoNotHardcodeLocaleSpecificStrings,System.Runtime,#N/A,Do not hardcode locale specific strings,"The System.Environment.SpecialFolder enumeration contains members that refer to special system folders. The locations of these folders can have different values on different operating systems; the user can change some of the locations; and the locations are localized. The Environment.GetFolderPath method returns the locations that are associated with the Environment.SpecialFolder enumeration, localized and appropriate for the currently running computer.",Yes,13519,71,0.005251868,786.5667551,Globalization,Low,,,
  