anchor.diff:  CA1054,UriParametersShouldNotBeStrings,Microsoft.Api.Design.Guidelines,#N/A,Uri parameters should not be strings,"If a method takes a string representation of a URI, a corresponding overload should be provided that takes an instance of the URI class, which provides these services in a safe and secure manner.",Yes,558646,3283,0.005876709,977.9515459,Design,High,,,WordParser
   CA1040,AvoidEmptyInterfaces,Microsoft.Api.Design.Guidelines,#N/A,Avoid empty interfaces,"Interfaces define members that provide a behavior or usage contract. The functionality that is described by the interface can be adopted by any type, regardless of where the type appears in the inheritance hierarchy. A type implements an interface by providing implementations for the members of the interface. An empty interface does not define any members; therefore, it does not define a contract that can be implemented.",Yes,189655,1043,0.00549946,959.724179,Design,High,,,None
   CA1056,UriPropertiesShouldNotBeStrings,Microsoft.Api.Design.Guidelines,#N/A,Uri properties should not be strings,"This rule assumes that the property represents a Uniform Resource Identifier (URI). A string representation of a URI is prone to parsing and encoding errors, and can lead to security vulnerabilities. The System.Uri class provides these services in a safe and secure manner.",Yes,676100,4114,0.006084899,958.1114229,Design,High,,,WordParser
  -CA1026,DefaultParametersShouldNotBeUsed,Microsoft.Api.Design.Guidelines,#N/A,Default parameters should not be used,"Methods that use default parameters are allowed under the CLS; however, the CLS lets compilers ignore the values that are assigned to these parameters. To maintain the behavior that you want across programming languages, methods that use default parameters should be replaced by method overloads that provide the default parameters.",Yes,451901,2791,0.006176131,915.6287078,Design,High,,,WHY?
  +CA1026,DefaultParametersShouldNotBeUsed,Microsoft.Api.Design.Guidelines,#N/A,Default parameters should not be used,"Methods that use default parameters are allowed under the CLS; however, the CLS lets compilers ignore the values that are assigned to these parameters. To maintain the behavior that you want across programming languages, methods that use default parameters should be replaced by method overloads that provide the default parameters.",Yes,451901,2791,0.006176131,915.6287078,Design,High,,Invalid rule?,
   CA1005,AvoidExcessiveParametersOnGenericTypes,Microsoft.Api.Design.Guidelines,#N/A,Avoid excessive parameters on generic types,"The more type parameters a generic type contains, the more difficult it is to know and remember what each type parameter represents. It is usually obvious with one type parameter, as in List&lt;T&gt;, and in certain cases that have two type parameters, as in Dictionary&lt;TKey, TValue&gt;. However, if more than two type parameters exist, the difficulty becomes too great for most users.",Yes,67481,367,0.005438568,887.9509468,Design,Low,,,
   CA1024,UsePropertiesWhereAppropriate,Microsoft.Api.Design.Guidelines,Microsoft.AnalyzerPowerPack,Use properties where appropriate,"A public or protected method has a name that starts with """"Get"""", takes no parameters, and returns a value that is not an array. The method might be a good candidate to become a property.",Yes,1626915,11430,0.007025567,884.1087197,Design,High,Ported,,
   CA1047,DoNotDeclareProtectedMembersInSealedTypes,Microsoft.Api.Design.Guidelines,#N/A,Do not declare protected members in sealed types,"Types declare protected members so that inheriting types can access or override the member. By definition, sealed types cannot be inherited, which means that protected methods on sealed types cannot be called.",Yes,19563,96,0.004907223,874.5140813,Design,Low,,,
  
positive.code: Id,Name,Proposed Analyzer,Existing Analyzer,Title,Description,VS Built-In,Triggered,Suppressed,% Suppressed,Rank,Category,Original Priority,Port?,Notes,Depenency to port
  CA2124,WrapVulnerableFinallyClausesInOuterTry,Desktop,#N/A,Wrap vulnerable finally clauses in outer try,A public or protected method contains a try/finally block. The finally block appears to reset the security state and is not itself enclosed in a finally block.,Yes,2527,5,0.001978631,1719.676689,Security,Low,,,
  CA2126,TypeLinkDemandsRequireInheritanceDemands,Desktop,#N/A,Type link demands require inheritance demands,A public unsealed type is protected by using a link demand and has an overridable method. Neither the type nor the method is protected by using an inheritance demand.,Yes,3318,7,0.002109705,1668.895405,Security,Low,,,
  CA2122,DoNotIndirectlyExposeMethodsWithLinkDemands,Desktop,#N/A,Do not indirectly expose methods with link demands,A public or protected member has Link Demands and is called by a member that does not perform any security checks. A link demand checks the permissions of the immediate caller only.,Yes,733224,7044,0.009606887,610.5241757,Security,High,,,FxCopSDKUtilities
  
negative.code: 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,,
  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,,,
  