Warning / Error Number | Description | Visual Studio 2008 Team System | Visual Studio 2010 Premium |
CA0001 | An exception was raised within managed code analysis tool that does not indicate an expected error condition. | Yes | Yes |
CA0051 | No rules were selected. | Yes | Yes |
CA0052 | No targets were selected to analyze. | Yes | Yes |
CA0053 | Rule assembly could not be loaded. | Yes | Yes |
CA0054 | A custom rule assembly has invalid XML resources. | Yes | Yes |
CA0055 | Could not load file:<path> | Yes | Yes |
CA0056 | A project file has an incorrect version of the analysis tool. | Yes | Yes |
CA0057 | Violations cannot be mapped to the current set of targets and rules. | Yes | Yes |
CA0058 | Unable to load assemblies referenced. | Yes | Yes |
CA0059 | Command line switch error. | Yes | Yes |
CA0060 | Unable to load assemblies referenced indirectly. | Yes | Yes |
CA0061 | The rule 'RuleId' referenced in rule set 'RuleSetName' could not be found. | - | Yes |
CA0062 | The rule 'RuleId' could not be found. | - | Yes |
CA0063 | Failed to load rule set file or one of its dependent rule set files. | - | Yes |
CA0064 | No analysis was performed because the specified rule set did not contain any FxCop rules. | - | Yes |
CA0065 | Unsupported metadata construct: Type 'TypeName' contains both a property and a field with the same name 'PropertyFieldName' | - | Yes |
CA0066 | | - | Yes |
CA0067 | Directory not found. | - | Yes |
CA0068 | Debug information could not be found for target assembly 'AssemblyName'. | - | Yes |
CA0069 | UsingAlternatePlatform. FrameworkVersion1 could not be found. Using FrameworkVersion2 instead. For best analysis results please ensure that the correct .NET Framework is installed. | - | Yes |
CA0070 | Unable to analyze permission attributes | - | Yes |
CA0501 | Unable to read output report. | Yes | Yes |
CA0502 | Unsupported language. | Yes | Yes |
CA0503 | Additional warnings cannot be displayed. | Yes | Yes |
CA0504 | Rule directory was ignored because it does not exist | - | Yes |
CA0505 | The property is deprectated. Use the superceding property | - | Yes |
CA1000 | Do not declare static members on generic types | Yes | Yes |
CA1001 | Types that own disposable fields should be disposable | Yes | Yes |
CA1002 | Do not expose generic lists | Yes | Yes |
CA1003 | Use generic event handler instances | Yes | Yes |
CA1004 | Generic methods should provide type parameter | Yes | Yes |
CA1005 | Avoid excessive parameters on generic types | Yes | Yes |
CA1006 | Do not nest generic types in member signatures | Yes | Yes |
CA1007 | Use generics where appropriate | Yes | Yes |
CA1008: | Enums should have zero value | Yes | Yes |
CA1009 | Declare event handlers correctly | Yes | Yes |
CA1010 | Collections should implement generic interface | Yes | Yes |
CA1011 | Consider passing base types as parameters | Yes | Yes |
CA1012 | Abstract types should not have constructors | Yes | Yes |
CA1013 | Overload operator equals on overloading add and subtract | Yes | Yes |
CA1014 | Mark assemblies with CLSCompliantAttribute | Yes | Yes |
CA1016 | Mark assemblies with AssemblyVersionAttribute | Yes | Yes |
CA1017 | Mark assemblies with ComVisibleAttribute | Yes | Yes |
CA1018 | Mark attributes with AttributeUsageAttribute | Yes | Yes |
CA1019 | Define accessors for attribute arguments | Yes | Yes |
CA1020 | Avoid namespaces with few types | Yes | Yes |
CA1021 | Avoid out parameters | Yes | Yes |
CA1023 | Indexers should not be multidimensional | Yes | Yes |
CA1024 | Use properties where appropriate | Yes | Yes |
CA1025 | Replace repetitive arguments with params array | Yes | Yes |
CA1026 | Default parameters should not be used | Yes | Yes |
CA1027 | Mark enums with FlagsAttribute | Yes | Yes |
CA1028 | Enum storage should be Int32 | Yes | Yes |
CA1030 | Use events where appropriate | Yes | Yes |
CA1031 | Do not catch general exception types | Yes | Yes |
CA1032 | Implement standard exception constructors | Yes | Yes |
CA1033 | Interface methods should be callable by child types | Yes | Yes |
CA1034 | Nested types should not be visible | Yes | Yes |
CA1035 | ICollection implementations have strongly typed members | Yes | Yes |
CA1036 | Override methods on comparable types | Yes | Yes |
CA1038 | Enumerators should be strongly typed | Yes | Yes |
CA1039 | Lists are strongly typed | Yes | Yes |
CA1040 | Avoid empty interfaces | Yes | Yes |
CA1041 | Provide ObsoleteAttribute message | Yes | Yes |
CA1043 | Use integral or string argument for indexers | Yes | Yes |
CA1044 | Properties should not be write only | Yes | Yes |
CA1045 | Do not pass types by reference | Yes | Yes |
CA1046 | Do not overload operator equals on reference types | Yes | Yes |
CA1047 | Do not declare protected members in sealed types | Yes | Yes |
CA1048 | Do not declare virtual members in sealed types | Yes | Yes |
CA1049 | Types that own native resources should be disposable | Yes | Yes |
CA1050 | Declare types in namespaces | Yes | Yes |
CA1051 | Do not declare visible instance fields | Yes | Yes |
CA1052 | Static holder types should be sealed | Yes | Yes |
CA1053 | Static holder types should not have constructors | Yes | Yes |
CA1054 | URI parameters should not be strings | Yes | Yes |
CA1055 | URI return values should not be strings | Yes | Yes |
CA1056 | URI properties should not be strings | Yes | Yes |
CA1057 | String URI overloads call System.Uri overloads | Yes | Yes |
CA1058 | Types should not extend certain base types | Yes | Yes |
CA1059 | Members should not expose certain concrete types | Yes | Yes |
CA1060 | Move P/Invokes to NativeMethods class | Yes | Yes |
CA1061 | Do not hide base class methods | Yes | Yes |
CA1062 | Validate arguments of public methods | - | Yes |
CA1063 | Implement IDisposable correctly | Yes | Yes |
CA1064 | Exceptions should be public | Yes | Yes |
CA1065 | Do not raise exceptions in unexpected locations | Yes | Yes |
CA1300 | Specify MessageBoxOptions | Yes | Yes |
CA1301 | Avoid duplicate accelerators | Yes | Yes |
CA1302 | Do not hardcode locale specific strings | Yes | Yes |
CA1303 | Do not pass literals as localized parameters | - | Yes |
CA1304 | Specify CultureInfo | Yes | Yes |
CA1305 | Specify IFormatProvider | Yes | Yes |
CA1306 | Set locale for data types | Yes | Yes |
CA1307 | Specify StringComparison | Yes | Yes |
CA1308 | Normalize strings to uppercase | Yes | Yes |
CA1309 | Use ordinal StringComparison | Yes | Yes |
CA1400 | P/Invoke entry points should exist | Yes | Yes |
CA1401 | P/Invokes should not be visible | Yes | Yes |
CA1402 | Avoid overloads in COM visible interfaces | Yes | Yes |
CA1403 | Auto layout types should not be COM visible | Yes | Yes |
CA1404 | Call GetLastError immediately after P/Invoke | Yes | Yes |
CA1405 | COM visible type base types should be COM visible | Yes | Yes |
CA1406 | Avoid Int64 arguments for Visual Basic 6 clients | Yes | Yes |
CA1407 | Avoid static members in COM visible types | Yes | Yes |
CA1408 | Do not use AutoDual ClassInterfaceType | Yes | Yes |
CA1409 | Com visible types should be creatable | Yes | Yes |
CA1410 | COM registration methods should be matched | Yes | Yes |
CA1411 | COM registration methods should not be visible | Yes | Yes |
CA1412 | Mark ComSource interfaces as IDispatch | Yes | Yes |
CA1413 | Avoid non-public fields in COM visible value types | Yes | Yes |
CA1414 | Mark boolean P/Invoke arguments with MarshalAs | Yes | Yes |
CA1415 | Declare P/Invokes correctly | Yes | Yes |
CA1500 | Variable names should not match field names | Yes | Yes |
CA1500 | Variable names should not match field names | Yes | Yes |
CA1501 | Avoid excessive inheritance | Yes | Yes |
CA1501 | Avoid excessive inheritance | Yes | Yes |
CA1502 | Avoid excessive complexity | Yes | Yes |
CA1502 | Avoid excessive complexity | Yes | Yes |
CA1504 | Review misleading field names | Yes | Yes |
CA1504 | Review misleading field names | Yes | Yes |
CA1505 | Avoid unmaintainable code | Yes | Yes |
CA1505 | Avoid unmaintainable code | Yes | Yes |
CA1506 | Avoid excessive class coupling | Yes | Yes |
CA1506 | Avoid excessive class coupling | Yes | Yes |
CA1600 | Do not use idle process priority | Yes | Yes |
CA1601 | Do not use timers that prevent power state changes | Yes | Yes |
CA1700 | Do not name enum values 'Reserved' | Yes | Yes |
CA1701 | Resource string compound words should be cased correctly | Yes | Yes |
CA1702 | Compound words should be cased correctly | Yes | Yes |
CA1703 | Resource strings should be spelled correctly | Yes | Yes |
CA1704 | Identifiers should be spelled correctly | Yes | Yes |
CA1707 | Identifiers should not contain underscores | Yes | Yes |
CA1708 | Identifiers should differ by more than case | Yes | Yes |
CA1709 | Identifiers should be cased correctly | Yes | Yes |
CA1710 | Identifiers should have correct suffix | Yes | Yes |
CA1711 | Identifiers should not have incorrect suffix | Yes | Yes |
CA1712 | Do not prefix enum values with type name | Yes | Yes |
CA1713 | Events should not have before or after prefix | Yes | Yes |
CA1714 | Flags enums should have plural names | Yes | Yes |
CA1715 | Identifiers should have correct prefix | Yes | Yes |
CA1716 | Identifiers should not match keywords | Yes | Yes |
CA1717 | Only FlagsAttribute enums should have plural names | Yes | Yes |
CA1719 | Parameter names should not match member names | Yes | Yes |
CA1720 | Identifiers should not contain type names | Yes | Yes |
CA1721 | Property names should not match get methods | Yes | Yes |
CA1722 | Identifiers should not have incorrect prefix | Yes | Yes |
CA1724 | Type names should not match namespaces | Yes | Yes |
CA1725 | Parameter names should match base declaration | Yes | Yes |
CA1726 | Use preferred terms | Yes | Yes |
CA1800 | Do not cast unnecessarily | Yes | Yes |
CA1801 | Review unused parameters | Yes | Yes |
CA1802 | Use literals where appropriate | Yes | Yes |
CA1804 | Remove unused locals | Yes | Yes |
CA1805 | Do not initialize unnecessarily | Yes | No |
CA1806 | Do not ignore method results | Yes | Yes |
CA1809 | Avoid excessive locals | Yes | Yes |
CA1810 | Initialize reference type static fields inline | Yes | Yes |
CA1811 | Avoid uncalled private code | Yes | Yes |
CA1812 | Avoid uninstantiated internal classes | Yes | Yes |
CA1813 | Avoid unsealed attributes | Yes | Yes |
CA1814 | Prefer jagged arrays over multidimensional | Yes | Yes |
CA1815 | Override equals and operator equals on value types | Yes | Yes |
CA1816 | Call GC.SuppressFinalize correctly | Yes | Yes |
CA1819 | Properties should not return arrays | Yes | Yes |
CA1820 | Test for empty strings using string length | Yes | Yes |
CA1821 | Remove empty finalizers | Yes | Yes |
CA1822 | Mark members as static | Yes | Yes |
CA1823 | Avoid unused private fields | Yes | Yes |
CA1824 | Mark assemblies with NeutralResourcesLanguageAttribute | Yes | Yes |
CA1900 | Value type fields should be portable | Yes | Yes |
CA1901 | P/Invoke declarations should be portable | Yes | Yes |
CA1903 | Use only API from targeted framework | Yes | Yes |
CA2000 | Dispose objects before losing scope | - | Yes |
CA2001 | Avoid calling problematic methods | Yes | Yes |
CA2002 | Do not lock on objects with weak identity | Yes | Yes |
CA2003 | Do not treat fibers as threads | Yes | Yes |
CA2004 | Remove calls to GC.KeepAlive | Yes | Yes |
CA2006 | Use SafeHandle to encapsulate native resources | Yes | Yes |
CA2100 | Review SQL queries for security vulnerabilities | - | Yes |
CA2101 | Specify marshaling for P/Invoke string arguments | Yes | Yes |
CA2102 | Catch non-CLSCompliant exceptions in general handlers | Yes | Yes |
CA2103 | Review imperative security | Yes | Yes |
CA2104 | Do not declare read only mutable reference types | Yes | Yes |
CA2105 | Array fields should not be read only | Yes | Yes |
CA2106 | Secure asserts | Yes | Yes |
CA2107 | Review deny and permit only usage | Yes | Yes |
CA2108 | Review declarative security on value types | Yes | Yes |
CA2109 | Review visible event handlers | Yes | Yes |
CA2111 | Pointers should not be visible | Yes | Yes |
CA2112 | Secured types should not expose fields | Yes | Yes |
CA2114 | Method security should be a superset of type | Yes | Yes |
CA2115 | Call GC.KeepAlive when using native resources | Yes | Yes |
CA2116 | APTCA methods should only call APTCA methods | Yes | Yes |
CA2117 | APTCA types should only extend APTCA base types | Yes | Yes |
CA2118 | Review SuppressUnmanagedCodeSecurityAttribute usage | Yes | Yes |
CA2119 | Seal methods that satisfy private interfaces | Yes | Yes |
CA2120 | Secure serialization constructors | Yes | Yes |
CA2121 | Static constructors should be private | Yes | Yes |
CA2122 | Do not indirectly expose methods with link demands | Yes | Yes |
CA2123 | Override link demands should be identical to base | Yes | Yes |
CA2124 | Wrap vulnerable finally clauses in outer try | Yes | Yes |
CA2126 | Type link demands require inheritance demands | Yes | Yes |
CA2127 | Security transparent assemblies should not contain security critical code | Yes | No |
CA2128 | Security transparent code should not assert | Yes | No |
CA2129 | Security transparent code should not reference non-public security critical members | Yes | No |
CA2130 | Security critical constants should be transparent | - | Yes |
CA2131 | Security critical types may not participate in type equivalence | - | Yes |
CA2132 | Default constructors must be at least as critical as base type default constructors | - | Yes |
CA2133 | Delegates must bind to methods with consistent transparency | - | Yes |
CA2134 | Methods must keep consistent transparency when overriding base methods | - | Yes |
CA2135 | Level 2 assemblies should not contain LinkDemands | - | Yes |
CA2136 | Members should not have conflicting transparency annotations | - | Yes |
CA2137 | Transparent methods must contain only verifiable IL | - | Yes |
CA2138 | Transparent methods must not call methods with the SuppressUnmanagedCodeSecurity attribute | - | Yes |
CA2139 | Transparent methods may not use the HandleProcessCorruptingExceptions attribute | - | Yes |
CA2140 | Transparent code must not reference security critical items | - | Yes |
CA2141 | Transparent methods must not satisfy LinkDemands | - | Yes |
CA2142 | Transparent code should not be protected with LinkDemands | - | Yes |
CA2143 | Transparent methods should not use security demands | - | Yes |
CA2144 | Transparent code should not load assemblies from byte arrays | - | Yes |
CA2145 | Transparent methods should not be decorated with the SuppressUnmanagedCodeSecurityAttribute | - | Yes |
CA2146 | Types must be at least as critical as their base types and interfaces | - | Yes |
CA2147 | Transparent methods may not use security asserts | - | Yes |
CA2149 | Transparent methods must not call native code | - | Yes |
CA2200 | Rethrow to preserve stack details | Yes | Yes |
CA2201 | Do not raise reserved exception types | Yes | Yes |
CA2202 | Do not dispose objects multiple times | - | Yes |
CA2204 | Literals should be spelled correctly | - | Yes |
CA2205 | Use managed equivalents of Win32 API | Yes | Yes |
CA2207 | Initialize value type static fields inline | Yes | Yes |
CA2208 | Instantiate argument exceptions correctly | Yes | Yes |
CA2210 | Assemblies should have valid strong names | Yes | Yes |
CA2211 | Non-constant fields should not be visible | Yes | Yes |
CA2212 | Do not mark serviced components with WebMethod | Yes | Yes |
CA2213 | Disposable fields should be disposed | Yes | Yes |
CA2214 | Do not call overridable methods in constructors | Yes | Yes |
CA2215 | Dispose methods should call base class dispose | - | Yes |
CA2216 | Disposable types should declare finalizer | Yes | Yes |
CA2217 | Do not mark enums with FlagsAttribute | Yes | Yes |
CA2218 | Override GetHashCode on overriding Equals | Yes | Yes |
CA2219 | Do not raise exceptions in exception clauses | Yes | Yes |
CA2220 | Finalizers should call base class finalizer | Yes | Yes |
CA2221 | Finalizers should be protected | Yes | Yes |
CA2222 | Do not decrease inherited member visibility | Yes | Yes |
CA2223 | Members should differ by more than return type | Yes | Yes |
CA2224 | Override equals on overloading operator equals | Yes | Yes |
CA2225 | Operator overloads have named alternates | Yes | Yes |
CA2226 | Operators should have symmetrical overloads | Yes | Yes |
CA2227 | Collection properties should be read only | Yes | Yes |
CA2228 | Do not ship unreleased resource formats | Yes | Yes |
CA2229 | Implement serialization constructors | Yes | Yes |
CA2230 | Use params for variable arguments | Yes | Yes |
CA2231 | Overload operator equals on overriding ValueType.Equals | Yes | Yes |
CA2232 | Mark Windows Forms entry points with STAThread | Yes | Yes |
CA2233 | Operations should not overflow | Yes | Yes |
CA2234 | Pass System.Uri objects instead of strings | Yes | Yes |
CA2235 | Mark all non-serializable fields | Yes | Yes |
CA2236 | Call base class methods on ISerializable types | Yes | Yes |
CA2237 | Mark ISerializable types with SerializableAttribute | Yes | Yes |
CA2238 | Implement serialization methods correctly | Yes | Yes |
CA2239 | Provide deserialization methods for optional fields | Yes | Yes |
CA2240 | Implement ISerializable correctly | Yes | Yes |
CA2241 | Provide correct arguments to formatting methods | - | Yes |
CA2242 | Test for NaN correctly | Yes | Yes |
CA2243 | Attribute string literals should parse correctly | Yes | Yes |