Rules

Browse all 450 Microsoft C# rules. Join or create a group to vote.

450 rules

IDE0001Unnecessary code rules (expression-level preferences)

Name can be simplified

Name can be simplified

0 yes 0 no
IDE0002Unnecessary code rules (expression-level preferences)

Simplify member access

Simplify member access

0 yes 0 no
IDE0003Language rules ('this.' and 'Me.' qualifiers)
1

Member access should be qualified

Member access should be qualified

0 yes 0 no
IDE0004Unnecessary code rules (expression-level preferences)

Remove unnecessary cast

Remove unnecessary cast

0 yes 0 no
IDE0005Unnecessary code rules (using directive preferences)

Open declaration can be removed

Open declaration can be removed

0 yes 0 no
IDE0007var preferences
1

Use var

Prefer `var` over an explicit type in local variable declarations.

0 yes 0 no
IDE0008Language rules ('var' preferences)
1

Use explicit type instead of var

Use explicit type instead of var

0 yes 0 no
IDE0009Language rules ('this.' and 'Me.' qualifiers)
1

Member access should be qualified

Member access should be qualified

0 yes 0 no
IDE0010Language rules (expression-level preferences)

Add missing cases to switch statement

Add missing cases to switch statement

0 yes 0 no
IDE0011Code block preferences

Add braces

Require braces around the bodies of if, else, for, while, and similar statements.

0 yes 0 no
IDE0016Language rules (expression-level preferences)

Use throw expression

Use throw expression

0 yes 0 no
IDE0017Expression-level preferences

Use object initializers

Prefer object initializers over separate property assignments.

0 yes 0 no
IDE0018Language rules (expression-level preferences)

Inline variable declaration

Inline variable declaration

0 yes 0 no
IDE0019Language rules (pattern matching preferences)

Use pattern matching to avoid as followed by a null check

Use pattern matching to avoid as followed by a null check

0 yes 0 no
IDE0020Language rules (pattern matching preferences)
1

Use pattern matching to avoid is check followed by a cast (without variable)

Use pattern matching to avoid is check followed by a cast (without variable)

0 yes 0 no
IDE0021Language rules (expression-bodied members)

Use expression body for constructors

Use expression body for constructors

0 yes 0 no
IDE0022Language rules (expression-bodied members)

Use expression body for methods

Use expression body for methods

0 yes 0 no
IDE0023Language rules (expression-bodied members)
1

Use expression body for operators

Use expression body for operators

0 yes 0 no
IDE0024Language rules (expression-bodied members)
1

Use expression body for operators

Use expression body for operators

0 yes 0 no
IDE0025Language rules (expression-bodied members)

Use expression body for properties

Use expression body for properties

0 yes 0 no
IDE0026Language rules (expression-bodied members)

Use expression body for indexers

Use expression body for indexers

0 yes 0 no
IDE0027Language rules (expression-bodied members)

Use expression body for accessors

Use expression body for accessors

0 yes 0 no
IDE0028Expression-level preferences

Use collection initializers

Prefer collection initializers over repeated `Add` calls.

0 yes 0 no
IDE0029Null-checking preferences

Use coalesce expression

Prefer the null-coalescing operator `??` over equivalent conditionals.

0 yes 0 no
IDE0030Language rules (expression-level preferences)
1

Null check can be simplified (if null check)

Null check can be simplified (if null check)

0 yes 0 no
IDE0031Null-checking preferences

Use null propagation

Prefer the null-conditional operator `?.` over null-check conditionals.

0 yes 0 no
IDE0032Language rules (expression-level preferences)

Use auto-implemented property

Use auto-implemented property

0 yes 0 no
IDE0033Language rules (expression-level preferences)

Use explicitly provided tuple name

Use explicitly provided tuple name

0 yes 0 no
IDE0034Language rules (expression-level preferences)

Simplify default expression

Simplify default expression

0 yes 0 no
IDE0035Unnecessary code rules (expression-level preferences)

Remove unreachable code

Remove unreachable code

0 yes 0 no
IDE0036Language rules (modifier preferences)

Order modifiers

Order modifiers

0 yes 0 no
IDE0037Language rules (expression-level preferences)

Use inferred member name

Use inferred member name

0 yes 0 no
IDE0038Language rules (pattern matching preferences)
1

Use pattern matching to avoid is check followed by a cast (without variable)

Use pattern matching to avoid is check followed by a cast (without variable)

0 yes 0 no
IDE0039Language rules (expression-level preferences)

Use local function instead of lambda

Use local function instead of lambda

0 yes 0 no
IDE0040Modifier preferences

Add accessibility modifiers

Require explicit accessibility modifiers (e.g. `private`) on members.

0 yes 0 no
IDE0041Language rules (expression-level preferences)

Use 'is null' check

Use 'is null' check

0 yes 0 no
IDE0042Language rules (expression-level preferences)

Deconstruct variable declaration

Deconstruct variable declaration

0 yes 0 no
IDE0044Modifier preferences

Add readonly modifier

Mark fields that are only assigned in the constructor as `readonly`.

0 yes 0 no
IDE0045Language rules (expression-level preferences)

Use conditional expression for assignment

Use conditional expression for assignment

0 yes 0 no
IDE0046Language rules (expression-level preferences)

Use conditional expression for return

Use conditional expression for return

0 yes 0 no
IDE0047Language rules (parentheses preferences)
1

Add parentheses for clarity

Add parentheses for clarity

0 yes 0 no
IDE0048Language rules (parentheses preferences)
1

Add parentheses for clarity

Add parentheses for clarity

0 yes 0 no
IDE0049Language rules (language keywords instead of framework type names)

Use language keywords instead of framework type names for type references

Use language keywords instead of framework type names for type references

0 yes 0 no
IDE0050Language rules (expression-level preferences)

Convert anonymous type to tuple

Convert anonymous type to tuple

0 yes 0 no
IDE0051Unnecessary code rules (expression-level preferences)

Remove unused private member

Remove unused private member

0 yes 0 no
IDE0052Unnecessary code rules (expression-level preferences)

Remove unread private member

Remove unread private member

0 yes 0 no
IDE0053Language rules (expression-bodied members)

Use expression body for lambdas

Use expression body for lambdas

0 yes 0 no
IDE0054Language rules (expression-level preferences)
1

Use coalesce compound assignment

Use coalesce compound assignment

0 yes 0 no
IDE0055Formatting

Fix formatting

Enforce consistent whitespace, indentation, and new-line formatting.

0 yes 0 no
IDE0056Language rules (expression-level preferences)

Use index operator

Use index operator

0 yes 0 no
IDE0057Language rules (expression-level preferences)

Use range operator

Use range operator

0 yes 0 no
IDE0058Language rules (expression-level preferences)

Remove unnecessary expression value

Remove unnecessary expression value

0 yes 0 no
IDE0059Unnecessary code rules (expression-level preferences)

The value is unused

The value is unused

0 yes 0 no
IDE0060Parameter preferences

Remove unused parameter

Flag parameters that are never used by the method body.

0 yes 0 no
IDE0061Language rules (expression-bodied members)

Use expression body for local functions

Use expression body for local functions

0 yes 0 no
IDE0062Language rules (modifier preferences)

Make local function static

Make local function static

0 yes 0 no
IDE0063Code block preferences

Use simple using statement

Prefer the declaration-form `using` statement over a `using` block.

0 yes 0 no
IDE0064Language rules (modifier preferences)

Make struct fields writable

Make struct fields writable

0 yes 0 no
IDE0065using directive preferences

using directive placement

Control whether `using` directives go inside or outside the namespace.

0 yes 0 no
IDE0066Expression-level preferences

Use switch expression

Prefer a `switch` expression over a `switch` statement where applicable.

0 yes 0 no
IDE0070Language rules (expression-level preferences)

Use System.HashCode.Combine

Use System.HashCode.Combine

0 yes 0 no
IDE0071Language rules (expression-level preferences)

Simplify interpolation

Simplify interpolation

0 yes 0 no
IDE0072Language rules (expression-level preferences)

Add missing cases to switch expression

Add missing cases to switch expression

0 yes 0 no
IDE0073Language rules (using directive preferences)

Require file header

Require file header

0 yes 0 no
IDE0074Language rules (expression-level preferences)
1

Use coalesce compound assignment

Use coalesce compound assignment

0 yes 0 no
IDE0075Language rules (expression-level preferences)

Simplify conditional expression

Simplify conditional expression

0 yes 0 no
IDE0076Miscellaneous rules

Remove invalid global SuppressMessageAttribute

Remove invalid global SuppressMessageAttribute

0 yes 0 no
IDE0077Miscellaneous rules

Avoid legacy format target in global SuppressMessageAttribute

Avoid legacy format target in global SuppressMessageAttribute

0 yes 0 no
IDE0078Language rules (pattern matching preferences)
1

Use pattern matching

Use pattern matching

0 yes 0 no
IDE0079Unnecessary code rules (suppression preferences)

Remove unnecessary suppression

Remove unnecessary suppression

0 yes 0 no
IDE0080Unnecessary code rules (expression-level preferences)

Remove unnecessary suppression operator

Remove unnecessary suppression operator

0 yes 0 no
IDE0081Unnecessary code rules (expression-level preferences)

Remove ByVal

Remove ByVal

0 yes 0 no
IDE0082Language rules (expression-level preferences)

Convert typeof to nameof

Convert typeof to nameof

0 yes 0 no
IDE0083Language rules (pattern matching preferences)

Use pattern matching (not operator)

Use pattern matching (not operator)

0 yes 0 no
IDE0084Language rules (expression-level preferences)

Use pattern matching (IsNot operator)

Use pattern matching (IsNot operator)

0 yes 0 no
IDE0090Expression-level preferences

Simplify new expression

Use target-typed `new()` when the type is apparent.

0 yes 0 no
IDE0100Unnecessary code rules (expression-level preferences)

Remove unnecessary equality operator

Remove unnecessary equality operator

0 yes 0 no
IDE0110Unnecessary code rules (expression-level preferences)

Remove unnecessary discard

Remove unnecessary discard

0 yes 0 no
IDE0120Unnecessary code rules (expression-level preferences)

Simplify LINQ expression

Simplify LINQ expression

0 yes 0 no
IDE0121Unnecessary code rules (expression-level preferences)

Simplify LINQ type check and cast

Simplify LINQ type check and cast

0 yes 0 no
IDE0130Language rules (expression-level preferences)

Namespace does not match folder structure

Namespace does not match folder structure

0 yes 0 no
IDE0140Language rules (expression-level preferences)

Simplify object creation

Simplify object creation

0 yes 0 no
IDE0150Language rules (expression-level preferences)

Prefer null check over type check

Prefer null check over type check

0 yes 0 no
IDE0160Language rules (code-block preferences)

Use file-scoped namespace

Use file-scoped namespace

0 yes 0 no
IDE0161Code block preferences

Use file-scoped namespace

Prefer file-scoped namespace declarations.

0 yes 0 no
IDE0170Language rules (pattern matching preferences)

Simplify property pattern

Simplify property pattern

0 yes 0 no
IDE0180Language rules (expression-level preferences)

Use tuple to swap values

Use tuple to swap values

0 yes 0 no
IDE0200Language rules (code-block preferences)

Remove unnecessary lambda expression

Remove unnecessary lambda expression

0 yes 0 no
IDE0210Language rules (code-block preferences)

Convert to top-level statements

Convert to top-level statements

0 yes 0 no
IDE0211Language rules (code-block preferences)

Convert to 'Program.Main' style program

Convert to 'Program.Main' style program

0 yes 0 no
IDE0220Language rules (expression-level preferences)

Add explicit cast

Add explicit cast

0 yes 0 no
IDE0221Language rules (expression-level preferences)

Add explicit cast

Add explicit cast

0 yes 0 no
IDE0230Language rules (expression-level preferences)

Use UTF-8 string literal

Use UTF-8 string literal

0 yes 0 no
IDE0240Unnecessary code rules (expression-level preferences)

Nullable directive is redundant

Nullable directive is redundant

0 yes 0 no
IDE0241Unnecessary code rules (expression-level preferences)

Nullable directive is unnecessary

Nullable directive is unnecessary

0 yes 0 no
IDE0250Language rules (modifier preferences)

Struct can be made 'readonly'

Struct can be made 'readonly'

0 yes 0 no
IDE0251Language rules (modifier preferences)

Member can be made 'readonly'

Member can be made 'readonly'

0 yes 0 no
IDE0260Language rules (pattern matching preferences)
1

Use pattern matching

Use pattern matching

0 yes 0 no
IDE0270Language rules (expression-level preferences)
1

Null check can be simplified (if null check)

Null check can be simplified (if null check)

0 yes 0 no
IDE0280Language rules (parameter preferences)

Use 'nameof'

Use 'nameof'

0 yes 0 no
IDE0290Language rules (code block preferences)

Use primary constructor

Use primary constructor

0 yes 0 no
IDE0300Language rules (expression-level preferences)

Use collection expression for array

Use collection expression for array

0 yes 0 no
IDE0301Language rules (expression-level preferences)

Use collection expression for empty

Use collection expression for empty

0 yes 0 no
IDE0302Language rules (expression-level preferences)

Use collection expression for stackalloc

Use collection expression for stackalloc

0 yes 0 no
IDE0303Language rules (expression-level preferences)

Use collection expression for Create

Use collection expression for Create

0 yes 0 no
IDE0304Language rules (expression-level preferences)

Use collection expression for builder

Use collection expression for builder

0 yes 0 no
IDE0305Language rules (expression-level preferences)

Use collection expression for fluent

Use collection expression for fluent

0 yes 0 no
IDE0306Language rules (expression-level preferences)

Use collection expression for new

Use collection expression for new

0 yes 0 no
IDE0320Language rules (modifier preferences)

Make anonymous function static

Make anonymous function static

0 yes 0 no
IDE0330Language rules (code-block preferences)

Prefer 'System.Threading.Lock'

Prefer 'System.Threading.Lock'

0 yes 0 no
IDE0340Language rules (expression-level preferences)

Use unbound generic type

Use unbound generic type

0 yes 0 no
IDE0350Language rules (expression-level preferences)

Use implicitly typed lambda

Use implicitly typed lambda

0 yes 0 no
IDE0360Language rules (expression-level preferences)

Simplify property accessor

Simplify property accessor

0 yes 0 no
IDE0370Unnecessary code rules (suppression preferences)

Remove unnecessary suppression

Remove unnecessary suppression

0 yes 0 no
IDE0380Unnecessary code rules (modifier preferences)

Remove unnecessary unsafe modifier

Remove unnecessary unsafe modifier

0 yes 0 no
IDE1005Language rules (null-checking preferences)

Use conditional delegate call

Use conditional delegate call

0 yes 0 no
IDE1006Naming

Naming styles

Enforce naming conventions (e.g. PascalCase for public members).

0 yes 0 no
IDE2000Language rules (new-line preferences)

Avoid multiple blank lines

Avoid multiple blank lines

0 yes 0 no
IDE2001Language rules (new-line preferences)

Embedded statements must be on their own line

Embedded statements must be on their own line

0 yes 0 no
IDE2002Language rules (new-line preferences)

Consecutive braces must not have blank line between them

Consecutive braces must not have blank line between them

0 yes 0 no
IDE2003Language rules (new-line preferences)

Blank line required between block and subsequent statement

Blank line required between block and subsequent statement

0 yes 0 no
IDE2004Language rules (new-line preferences)

Blank line not allowed after constructor initializer colon

Blank line not allowed after constructor initializer colon

0 yes 0 no
IDE2005Language rules (new-line preferences)

Blank line not allowed after conditional expression token

Blank line not allowed after conditional expression token

0 yes 0 no
IDE2006Language rules (new-line preferences)

Blank line not allowed after arrow expression clause token

Blank line not allowed after arrow expression clause token

0 yes 0 no
IDE3000Miscellaneous rules

Implement with Copilot

Implement with Copilot

0 yes 0 no
CA1000Design

Do not declare static members on generic types

Do not declare static members on generic types

0 yes 0 no
CA1001Design

Types that own disposable fields should be disposable

Types that own disposable fields should be disposable

0 yes 0 no
CA1002Design

Do not expose generic lists

Do not expose generic lists

0 yes 0 no
CA1003Design

Use generic event handler instances

Use generic event handler instances

0 yes 0 no
CA1005Design

Avoid excessive parameters on generic types

Avoid excessive parameters on generic types

0 yes 0 no
CA1008Design

Enums should have zero value

Enums should have zero value

0 yes 0 no
CA1010Design

Collections should implement generic interface

Collections should implement generic interface

0 yes 0 no
CA1012Design

Abstract types should not have public constructors

Abstract types should not have public constructors

0 yes 0 no
CA1014Design

Mark assemblies with CLSCompliantAttribute

Mark assemblies with CLSCompliantAttribute

0 yes 0 no
CA1016Design

Mark assemblies with AssemblyVersionAttribute

Mark assemblies with AssemblyVersionAttribute

0 yes 0 no
CA1017Design

Mark assemblies with ComVisibleAttribute

Mark assemblies with ComVisibleAttribute

0 yes 0 no
CA1018Design

Mark attributes with AttributeUsageAttribute

Mark attributes with AttributeUsageAttribute

0 yes 0 no
CA1019Design

Define accessors for attribute arguments

Define accessors for attribute arguments

0 yes 0 no
CA1021Design

Avoid out parameters

Avoid out parameters

0 yes 0 no
CA1024Design

Use properties where appropriate

Use properties where appropriate

0 yes 0 no
CA1027Design

Mark enums with FlagsAttribute

Mark enums with FlagsAttribute

0 yes 0 no
CA1028Design

Enum storage should be Int32

Enum storage should be Int32

0 yes 0 no
CA1030Design

Use events where appropriate

Use events where appropriate

0 yes 0 no
CA1031Design

Do not catch general exception types

Avoid catching `Exception` or `SystemException` broadly.

0 yes 0 no
CA1032Design

Implement standard exception constructors

Implement standard exception constructors

0 yes 0 no
CA1033Design

Interface methods should be callable by child types

Interface methods should be callable by child types

0 yes 0 no
CA1034Design

Nested types should not be visible

Nested types should not be visible

0 yes 0 no
CA1036Design

Override methods on comparable types

Override methods on comparable types

0 yes 0 no
CA1040Design

Avoid empty interfaces

Avoid empty interfaces

0 yes 0 no
CA1041Design

Provide ObsoleteAttribute message

Provide ObsoleteAttribute message

0 yes 0 no
CA1043Design

Use integral or string argument for indexers

Use integral or string argument for indexers

0 yes 0 no
CA1044Design

Properties should not be write only

Properties should not be write only

0 yes 0 no
CA1045Design

Do not pass types by reference

Do not pass types by reference

0 yes 0 no
CA1046Design

Do not overload operator equals on reference types

Do not overload operator equals on reference types

0 yes 0 no
CA1047Design

Do not declare protected members in sealed types

Do not declare protected members in sealed types

0 yes 0 no
CA1050Design

Declare types in namespaces

Declare types in namespaces

0 yes 0 no
CA1051Design

Do not declare visible instance fields

Expose data through properties rather than public fields.

0 yes 0 no
CA1052Design

Static holder types should be Static or NotInheritable

Static holder types should be Static or NotInheritable

0 yes 0 no
CA1053Design

Static holder types should not have default constructors

Static holder types should not have default constructors

0 yes 0 no
CA1054Design

URI parameters should not be strings

URI parameters should not be strings

0 yes 0 no
CA1055Design

URI return values should not be strings

URI return values should not be strings

0 yes 0 no
CA1056Design

URI properties should not be strings

URI properties should not be strings

0 yes 0 no
CA1058Design

Types should not extend certain base types

Types should not extend certain base types

0 yes 0 no
CA1060Design

Move P/Invokes to NativeMethods class

Move P/Invokes to NativeMethods class

0 yes 0 no
CA1061Design

Do not hide base class methods

Do not hide base class methods

0 yes 0 no
CA1062Design

Validate arguments of public methods

Null-check reference parameters of externally visible methods.

0 yes 0 no
CA1063Design

Implement IDisposable correctly

Implement IDisposable correctly

0 yes 0 no
CA1064Design

Exceptions should be public

Exceptions should be public

0 yes 0 no
CA1065Design

Do not raise exceptions in unexpected locations

Do not raise exceptions in unexpected locations

0 yes 0 no
CA1066Design

Implement IEquatable when overriding Equals

Implement IEquatable when overriding Equals

0 yes 0 no
CA1067Design

Override Equals when implementing IEquatable

Override Equals when implementing IEquatable

0 yes 0 no
CA1068Design

CancellationToken parameters must come last

CancellationToken parameters must come last

0 yes 0 no
CA1069Design

Enums should not have duplicate values

Enums should not have duplicate values

0 yes 0 no
CA1070Design

Do not declare event fields as virtual

Do not declare event fields as virtual

0 yes 0 no
CA1200Documentation

Avoid using cref tags with a prefix

Avoid using cref tags with a prefix

0 yes 0 no
CA1303Globalization

Do not pass literals as localized parameters

Do not pass literals as localized parameters

0 yes 0 no
CA1304Globalization

Specify CultureInfo

Specify CultureInfo

0 yes 0 no
CA1305Globalization

Specify IFormatProvider

Pass an explicit culture / format provider to formatting APIs.

0 yes 0 no
CA1307Globalization

Specify StringComparison for clarity

Specify StringComparison for clarity

0 yes 0 no
CA1308Globalization

Normalize strings to uppercase

Normalize strings to uppercase

0 yes 0 no
CA1309Globalization

Use ordinal StringComparison

Use ordinal StringComparison

0 yes 0 no
CA1310Globalization

Specify StringComparison for correctness

Pass an explicit StringComparison to string operations.

0 yes 0 no
CA1311Globalization

Specify a culture or use an invariant version

Specify a culture or use an invariant version

0 yes 0 no
CA1401Portability and interoperability

P/Invokes should not be visible

P/Invokes should not be visible

0 yes 0 no
CA1416Portability and interoperability

Validate platform compatibility

Validate platform compatibility

0 yes 0 no
CA1417Portability and interoperability

Do not use OutAttribute on string parameters for P/Invokes

Do not use OutAttribute on string parameters for P/Invokes

0 yes 0 no
CA1418Portability and interoperability

Validate platform compatibility

Validate platform compatibility

0 yes 0 no
CA1419Portability and interoperability

Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'

Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'

0 yes 0 no
CA1420Portability and interoperability

Property, type, or attribute requires runtime marshalling

Property, type, or attribute requires runtime marshalling

0 yes 0 no
CA1421Portability and interoperability

Method uses runtime marshalling when DisableRuntimeMarshallingAttribute is applied

Method uses runtime marshalling when DisableRuntimeMarshallingAttribute is applied

0 yes 0 no
CA1422Portability and interoperability

Validate platform compatibility - obsoleted APIs

Validate platform compatibility - obsoleted APIs

0 yes 0 no
CA1501Maintainability

Avoid excessive inheritance

Avoid excessive inheritance

0 yes 0 no
CA1502Maintainability

Avoid excessive complexity

Avoid excessive complexity

0 yes 0 no
CA1505Maintainability

Avoid unmaintainable code

Avoid unmaintainable code

0 yes 0 no
CA1506Maintainability

Avoid excessive class coupling

Avoid excessive class coupling

0 yes 0 no
CA1507Maintainability

Use nameof in place of string

Use nameof in place of string

0 yes 0 no
CA1508Maintainability

Avoid dead conditional code

Avoid dead conditional code

0 yes 0 no
CA1509Maintainability

Invalid entry in code metrics configuration file

Invalid entry in code metrics configuration file

0 yes 0 no
CA1510Maintainability

Use ArgumentNullException throw helper

Use ArgumentNullException throw helper

0 yes 0 no
CA1511Maintainability

Use ArgumentException throw helper

Use ArgumentException throw helper

0 yes 0 no
CA1512Maintainability

Use ArgumentOutOfRangeException throw helper

Use ArgumentOutOfRangeException throw helper

0 yes 0 no
CA1513Maintainability

Use ObjectDisposedException throw helper

Use ObjectDisposedException throw helper

0 yes 0 no
CA1514Maintainability

Avoid redundant length argument

Avoid redundant length argument

0 yes 0 no
CA1515Maintainability

Consider making public types internal

Consider making public types internal

0 yes 0 no
CA1516Maintainability

Use cross-platform intrinsics

Use cross-platform intrinsics

0 yes 0 no
CA1700Naming

Do not name enum values 'Reserved'

Do not name enum values 'Reserved'

0 yes 0 no
CA1707Naming

Identifiers should not contain underscores

Identifiers should not contain underscores

0 yes 0 no
CA1708Naming

Identifiers should differ by more than case

Identifiers should differ by more than case

0 yes 0 no
CA1710Naming

Identifiers should have correct suffix

Identifiers should have correct suffix

0 yes 0 no
CA1711Naming

Identifiers should not have incorrect suffix

Identifiers should not have incorrect suffix

0 yes 0 no
CA1712Naming

Do not prefix enum values with type name

Do not prefix enum values with type name

0 yes 0 no
CA1713Naming

Events should not have before or after prefix

Events should not have before or after prefix

0 yes 0 no
CA1714Naming

Flags enums should have plural names

Flags enums should have plural names

0 yes 0 no
CA1715Naming

Identifiers should have correct prefix

Identifiers should have correct prefix

0 yes 0 no
CA1716Naming

Identifiers should not match keywords

Identifiers should not match keywords

0 yes 0 no
CA1717Naming

Only FlagsAttribute enums should have plural names

Only FlagsAttribute enums should have plural names

0 yes 0 no
CA1720Naming

Identifiers should not contain type names

Identifiers should not contain type names

0 yes 0 no
CA1721Naming

Property names should not match get methods

Property names should not match get methods

0 yes 0 no
CA1724Naming

Type names should not match namespaces

Type names should not match namespaces

0 yes 0 no
CA1725Naming

Parameter names should match base declaration

Parameter names should match base declaration

0 yes 0 no
CA1727Naming

Use PascalCase for named placeholders

Use PascalCase for named placeholders

0 yes 0 no
CA1801Performance

Review unused parameters

Review unused parameters

0 yes 0 no
CA1802Performance

Use Literals Where Appropriate

Use Literals Where Appropriate

0 yes 0 no
CA1805Performance

Do not initialize unnecessarily

Do not initialize unnecessarily

0 yes 0 no
CA1806Performance

Do not ignore method results

Do not ignore method results

0 yes 0 no
CA1810Performance

Initialize reference type static fields inline

Initialize reference type static fields inline

0 yes 0 no
CA1812Performance

Avoid uninstantiated internal classes

Avoid uninstantiated internal classes

0 yes 0 no
CA1813Performance

Avoid unsealed attributes

Avoid unsealed attributes

0 yes 0 no
CA1814Performance

Prefer jagged arrays over multidimensional

Prefer jagged arrays over multidimensional

0 yes 0 no
CA1815Performance

Override equals and operator equals on value types

Override equals and operator equals on value types

0 yes 0 no
CA1816Usage

Call GC.SuppressFinalize correctly

Call `GC.SuppressFinalize(this)` in Dispose implementations.

0 yes 0 no
CA1819Performance

Properties should not return arrays

Properties should not return arrays

0 yes 0 no
CA1820Performance

Test for empty strings using string length

Test for empty strings using string length

0 yes 0 no
CA1821Performance

Remove empty finalizers

Remove empty finalizers

0 yes 0 no
CA1822Performance

Mark members as static

Mark members that do not access instance state as `static`.

0 yes 0 no
CA1823Performance

Avoid unused private fields

Avoid unused private fields

0 yes 0 no
CA1824Performance

Mark assemblies with NeutralResourcesLanguageAttribute

Mark assemblies with NeutralResourcesLanguageAttribute

0 yes 0 no
CA1825Performance

Avoid zero-length array allocations

Use `Array.Empty<T>()` instead of allocating an empty array.

0 yes 0 no
CA1826Performance

Use property instead of Linq Enumerable method

Use property instead of Linq Enumerable method

0 yes 0 no
CA1827Performance

Do not use Count()/LongCount() when Any() can be used

Do not use Count()/LongCount() when Any() can be used

0 yes 0 no
CA1828Performance

Do not use CountAsync/LongCountAsync when AnyAsync can be used

Do not use CountAsync/LongCountAsync when AnyAsync can be used

0 yes 0 no
CA1829Performance

Use Length/Count property instead of Enumerable.Count method

Use Length/Count property instead of Enumerable.Count method

0 yes 0 no
CA1830Performance

Prefer strongly-typed Append and Insert method overloads on StringBuilder

Prefer strongly-typed Append and Insert method overloads on StringBuilder

0 yes 0 no
CA1831Performance

Use AsSpan instead of Range-based indexers for string when appropriate

Use AsSpan instead of Range-based indexers for string when appropriate

0 yes 0 no
CA1832Performance

Use AsSpan or AsMemory instead of Range-based indexers for getting ReadOnlySpan or ReadOnlyMemory portion of an array

Use AsSpan or AsMemory instead of Range-based indexers for getting ReadOnlySpan or ReadOnlyMemory portion of an array

0 yes 0 no
CA1833Performance

Use AsSpan or AsMemory instead of Range-based indexers for getting Span or Memory portion of an array

Use AsSpan or AsMemory instead of Range-based indexers for getting Span or Memory portion of an array

0 yes 0 no
CA1834Performance

Use StringBuilder.Append(char) for single character strings

Use StringBuilder.Append(char) for single character strings

0 yes 0 no
CA1835Performance

Prefer the memory-based overloads of ReadAsync/WriteAsync methods in stream-based classes

Prefer the memory-based overloads of ReadAsync/WriteAsync methods in stream-based classes

0 yes 0 no
CA1836Performance

Prefer IsEmpty over Count when available

Prefer IsEmpty over Count when available

0 yes 0 no
CA1837Performance

Use Environment.ProcessId instead of Process.GetCurrentProcess().Id

Use Environment.ProcessId instead of Process.GetCurrentProcess().Id

0 yes 0 no
CA1838Performance

Avoid StringBuilder parameters for P/Invokes

Avoid StringBuilder parameters for P/Invokes

0 yes 0 no
CA1839Performance

Use Environment.ProcessPath instead of Process.GetCurrentProcess().MainModule.FileName

Use Environment.ProcessPath instead of Process.GetCurrentProcess().MainModule.FileName

0 yes 0 no
CA1840Performance

Use Environment.CurrentManagedThreadId instead of Thread.CurrentThread.ManagedThreadId

Use Environment.CurrentManagedThreadId instead of Thread.CurrentThread.ManagedThreadId

0 yes 0 no
CA1841Performance

Prefer Dictionary Contains methods

Prefer Dictionary Contains methods

0 yes 0 no
CA1842Performance

Do not use 'WhenAll' with a single task

Do not use 'WhenAll' with a single task

0 yes 0 no
CA1843Performance

Do not use 'WaitAll' with a single task

Do not use 'WaitAll' with a single task

0 yes 0 no
CA1844Performance

Provide memory-based overrides of async methods when subclassing 'Stream'

Provide memory-based overrides of async methods when subclassing 'Stream'

0 yes 0 no
CA1845Performance

Use span-based 'string.Concat'

Use span-based 'string.Concat'

0 yes 0 no
CA1846Performance

Prefer AsSpan over Substring

Prefer AsSpan over Substring

0 yes 0 no
CA1847Performance

Use String.Contains(char) instead of String.Contains(string) with single characters

Use String.Contains(char) instead of String.Contains(string) with single characters

0 yes 0 no
CA1848Performance

Use the LoggerMessage delegates

Use the LoggerMessage delegates

0 yes 0 no
CA1849Performance

Call async methods when in an async method

Prefer awaiting async APIs over their blocking counterparts.

0 yes 0 no
CA1850Performance

Prefer static HashData method over ComputeHash

Prefer static HashData method over ComputeHash

0 yes 0 no
CA1851Performance

Possible multiple enumerations of IEnumerable collection

Possible multiple enumerations of IEnumerable collection

0 yes 0 no
CA1852Performance

Seal internal types

Seal internal types

0 yes 0 no
CA1853Performance

Unnecessary call to 'Dictionary.ContainsKey(key)'

Unnecessary call to 'Dictionary.ContainsKey(key)'

0 yes 0 no
CA1854Performance

Prefer the IDictionary.TryGetValue(TKey, out TValue) method

Prefer the IDictionary.TryGetValue(TKey, out TValue) method

0 yes 0 no
CA1855Performance

Use Span\<T>.Clear() instead of Span\<T>.Fill()

Use Span\<T>.Clear() instead of Span\<T>.Fill()

0 yes 0 no
CA1856Performance

Incorrect usage of ConstantExpected attribute

Incorrect usage of ConstantExpected attribute

0 yes 0 no
CA1857Performance

The parameter expects a constant for optimal performance

The parameter expects a constant for optimal performance

0 yes 0 no
CA1858Performance

Use StartsWith instead of IndexOf

Use StartsWith instead of IndexOf

0 yes 0 no
CA1859Performance

Use concrete types when possible for improved performance

Use concrete types when possible for improved performance

0 yes 0 no
CA1860Performance

Avoid using 'Enumerable.Any()' extension method

Avoid using 'Enumerable.Any()' extension method

0 yes 0 no
CA1861Performance

Avoid constant arrays as arguments

Avoid constant arrays as arguments

0 yes 0 no
CA1862Performance

Use the 'StringComparison' method overloads to perform case-insensitive string comparisons

Use the 'StringComparison' method overloads to perform case-insensitive string comparisons

0 yes 0 no
CA1863Performance

Use CompositeFormat

Use CompositeFormat

0 yes 0 no
CA1864Performance

Prefer the 'IDictionary.TryAdd(TKey, TValue)' method

Prefer the 'IDictionary.TryAdd(TKey, TValue)' method

0 yes 0 no
CA1868Performance

Unnecessary call to 'Contains' for sets

Unnecessary call to 'Contains' for sets

0 yes 0 no
CA1869Performance

Cache and reuse 'JsonSerializerOptions' instances

Cache and reuse 'JsonSerializerOptions' instances

0 yes 0 no
CA1870Performance

Use a cached 'SearchValues' instance

Use a cached 'SearchValues' instance

0 yes 0 no
CA1871Performance

Do not pass a nullable struct to 'ArgumentNullException.ThrowIfNull'

Do not pass a nullable struct to 'ArgumentNullException.ThrowIfNull'

0 yes 0 no
CA1872Performance

Prefer Convert.ToHexString and Convert.ToHexStringLower over call chains based on BitConverter.ToString

Prefer Convert.ToHexString and Convert.ToHexStringLower over call chains based on BitConverter.ToString

0 yes 0 no
CA1873Performance

Avoid potentially expensive logging

Avoid potentially expensive logging

0 yes 0 no
CA1874Performance

Use Regex.IsMatch

Use Regex.IsMatch

0 yes 0 no
CA1875Performance

Use Regex.Count

Use Regex.Count

0 yes 0 no
CA1877Performance

Use Path.Combine or Path.Join overloads

Use Path.Combine or Path.Join overloads

0 yes 0 no
CA2000Reliability

Dispose objects before losing scope

Dispose IDisposable objects before they go out of scope.

0 yes 0 no
CA2002Reliability

Do not lock on objects with weak identity

Do not lock on objects with weak identity

0 yes 0 no
CA2007Reliability

Do not directly await a Task

Call `ConfigureAwait(false)` on awaited tasks in library code.

0 yes 0 no
CA2008Reliability

Do not create tasks without passing a TaskScheduler

Do not create tasks without passing a TaskScheduler

0 yes 0 no
CA2009Reliability

Do not call ToImmutableCollection on an ImmutableCollection value

Do not call ToImmutableCollection on an ImmutableCollection value

0 yes 0 no
CA2011Reliability

Do not assign property within its setter

Do not assign property within its setter

0 yes 0 no
CA2012Reliability

Use ValueTasks correctly

Use ValueTasks correctly

0 yes 0 no
CA2013Reliability

Do not use ReferenceEquals with value types

Do not use ReferenceEquals with value types

0 yes 0 no
CA2014Reliability

Do not use stackalloc in loops

Do not use stackalloc in loops

0 yes 0 no
CA2015Reliability

Do not define finalizers for types derived from MemoryManager&lt;T&gt;

Do not define finalizers for types derived from MemoryManager&lt;T&gt;

0 yes 0 no
CA2016Reliability

Forward the CancellationToken parameter to methods that take one

Forward the CancellationToken parameter to methods that take one

0 yes 0 no
CA2017Reliability

Parameter count mismatch

Parameter count mismatch

0 yes 0 no
CA2018Reliability

The count argument to Buffer.BlockCopy should specify the number of bytes to copy

The count argument to Buffer.BlockCopy should specify the number of bytes to copy

0 yes 0 no
CA2019Reliability

ThreadStatic fields should not use inline initialization

ThreadStatic fields should not use inline initialization

0 yes 0 no
CA2020Reliability

Prevent behavioral change caused by built-in operators of IntPtr/UIntPtr

Prevent behavioral change caused by built-in operators of IntPtr/UIntPtr

0 yes 0 no
CA2021Reliability

Don't call Enumerable.Cast<T> or Enumerable.OfType<T> with incompatible types

Don't call Enumerable.Cast<T> or Enumerable.OfType<T> with incompatible types

0 yes 0 no
CA2022Reliability

Avoid inexact read with Stream.Read

Avoid inexact read with Stream.Read

0 yes 0 no
CA2023Reliability

Invalid braces in message template

Invalid braces in message template

0 yes 0 no
CA2024Reliability

Do not use StreamReader.EndOfStream in async methods

Do not use StreamReader.EndOfStream in async methods

0 yes 0 no
CA2025Reliability

Do not pass 'IDisposable' instances into unawaited tasks

Do not pass 'IDisposable' instances into unawaited tasks

0 yes 0 no
CA2026Reliability

Prefer JsonElement.Parse over JsonDocument.Parse().RootElement

Prefer JsonElement.Parse over JsonDocument.Parse().RootElement

0 yes 0 no
CA2100Security

Review SQL queries for security vulnerabilities

Avoid building SQL command text from untrusted input.

0 yes 0 no
CA2101Security

Specify marshalling for P/Invoke string arguments

Specify marshalling for P/Invoke string arguments

0 yes 0 no
CA2109Security

Review visible event handlers

Review visible event handlers

0 yes 0 no
CA2119Security

Seal methods that satisfy private interfaces

Seal methods that satisfy private interfaces

0 yes 0 no
CA2153Security

Avoid handling Corrupted State Exceptions

Avoid handling Corrupted State Exceptions

0 yes 0 no
CA2200Usage

Rethrow to preserve stack details

Rethrow to preserve stack details

0 yes 0 no
CA2201Usage

Do not raise reserved exception types

Do not raise reserved exception types

0 yes 0 no
CA2207Usage

Initialize value type static fields inline

Initialize value type static fields inline

0 yes 0 no
CA2208Usage

Instantiate argument exceptions correctly

Instantiate argument exceptions correctly

0 yes 0 no
CA2211Usage

Non-constant fields should not be visible

Non-constant fields should not be visible

0 yes 0 no
CA2213Usage

Disposable fields should be disposed

Disposable fields should be disposed

0 yes 0 no
CA2214Usage

Do not call overridable methods in constructors

Do not call overridable methods in constructors

0 yes 0 no
CA2215Usage

Dispose methods should call base class dispose

Dispose methods should call base class dispose

0 yes 0 no
CA2216Usage

Disposable types should declare finalizer

Disposable types should declare finalizer

0 yes 0 no
CA2217Usage

Do not mark enums with FlagsAttribute

Do not mark enums with FlagsAttribute

0 yes 0 no
CA2218Usage

Override GetHashCode on overriding Equals

Override GetHashCode on overriding Equals

0 yes 0 no
CA2219Usage

Do not raise exceptions in exception clauses

Do not raise exceptions in exception clauses

0 yes 0 no
CA2224Usage

Override Equals on overloading operator equals

Override Equals on overloading operator equals

0 yes 0 no
CA2225Usage

Operator overloads have named alternates

Operator overloads have named alternates

0 yes 0 no
CA2226Usage

Operators should have symmetrical overloads

Operators should have symmetrical overloads

0 yes 0 no
CA2227Usage

Collection properties should be read only

Collection properties should be read only

0 yes 0 no
CA2229Usage

Implement serialization constructors

Implement serialization constructors

0 yes 0 no
CA2231Usage

Overload operator equals on overriding ValueType.Equals

Overload operator equals on overriding ValueType.Equals

0 yes 0 no
CA2234Usage

Pass System.Uri objects instead of strings

Pass System.Uri objects instead of strings

0 yes 0 no
CA2235Usage

Mark all non-serializable fields

Mark all non-serializable fields

0 yes 0 no
CA2237Usage

Mark ISerializable types with SerializableAttribute

Mark ISerializable types with SerializableAttribute

0 yes 0 no
CA2241Usage

Provide correct arguments to formatting methods

Provide correct arguments to formatting methods

0 yes 0 no
CA2242Usage

Test for NaN correctly

Test for NaN correctly

0 yes 0 no
CA2243Usage

Attribute string literals should parse correctly

Attribute string literals should parse correctly

0 yes 0 no
CA2244Usage

Do not duplicate indexed element initializations

Do not duplicate indexed element initializations

0 yes 0 no
CA2245Usage

Do not assign a property to itself

Do not assign a property to itself

0 yes 0 no
CA2246Usage

Do not assign a symbol and its member in the same statement

Do not assign a symbol and its member in the same statement

0 yes 0 no
CA2247Usage

Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum

Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum

0 yes 0 no
CA2248Usage

Provide correct enum argument to Enum.HasFlag

Provide correct enum argument to Enum.HasFlag

0 yes 0 no
CA2249Usage

Consider using String.Contains instead of String.IndexOf

Consider using String.Contains instead of String.IndexOf

0 yes 0 no
CA2250Usage

Use ThrowIfCancellationRequested

Use ThrowIfCancellationRequested

0 yes 0 no
CA2251Usage

Use String.Equals over String.Compare

Use String.Equals over String.Compare

0 yes 0 no
CA2252Usage

Opt in to preview features before using them

Opt in to preview features before using them

0 yes 0 no
CA2253Usage

Named placeholders should not be numeric values

Named placeholders should not be numeric values

0 yes 0 no
CA2254Usage

Template should be a static expression

Template should be a static expression

0 yes 0 no
CA2255Usage

The ModuleInitializer attribute should not be used in libraries

The ModuleInitializer attribute should not be used in libraries

0 yes 0 no
CA2256Usage

All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface

All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface

0 yes 0 no
CA2257Usage

Members defined on an interface with the 'DynamicInterfaceCastableImplementationAttribute' should be 'static'

Members defined on an interface with the 'DynamicInterfaceCastableImplementationAttribute' should be 'static'

0 yes 0 no
CA2258Usage

Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported

Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported

0 yes 0 no
CA2259Usage

Ensure ThreadStatic is only used with static fields

Ensure ThreadStatic is only used with static fields

0 yes 0 no
CA2260Usage

Implement generic math interfaces correctly

Implement generic math interfaces correctly

0 yes 0 no
CA2261Usage

Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>

Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>

0 yes 0 no
CA2262Usage

Set MaxResponseHeadersLength properly

Set MaxResponseHeadersLength properly

0 yes 0 no
CA2263Usage

Prefer generic overload when type is known

Prefer generic overload when type is known

0 yes 0 no
CA2264Usage

Do not pass a non-nullable value to ArgumentNullException.ThrowIfNull

Do not pass a non-nullable value to ArgumentNullException.ThrowIfNull

0 yes 0 no
CA2265Usage

Do not compare Span<T> to null or default

Do not compare Span<T> to null or default

0 yes 0 no
CA2266Usage

File-based program entry point should start with #!

File-based program entry point should start with #!

0 yes 0 no
CA2300Security

Do not use insecure deserializer BinaryFormatter

Do not use insecure deserializer BinaryFormatter

0 yes 0 no
CA2301Security

Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder

Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder

0 yes 0 no
CA2302Security

Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize

Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize

0 yes 0 no
CA2305Security

Do not use insecure deserializer LosFormatter

Do not use insecure deserializer LosFormatter

0 yes 0 no
CA2310Security

Do not use insecure deserializer NetDataContractSerializer

Do not use insecure deserializer NetDataContractSerializer

0 yes 0 no
CA2311Security

Do not deserialize without first setting NetDataContractSerializer.Binder

Do not deserialize without first setting NetDataContractSerializer.Binder

0 yes 0 no
CA2312Security

Ensure NetDataContractSerializer.Binder is set before deserializing

Ensure NetDataContractSerializer.Binder is set before deserializing

0 yes 0 no
CA2315Security

Do not use insecure deserializer ObjectStateFormatter

Do not use insecure deserializer ObjectStateFormatter

0 yes 0 no
CA2321Security

Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver

Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver

0 yes 0 no
CA2322Security

Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing

Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing

0 yes 0 no
CA2326Security

Do not use TypeNameHandling values other than None

Do not use TypeNameHandling values other than None

0 yes 0 no
CA2327Security

Do not use insecure JsonSerializerSettings

Do not use insecure JsonSerializerSettings

0 yes 0 no
CA2328Security

Ensure that JsonSerializerSettings are secure

Ensure that JsonSerializerSettings are secure

0 yes 0 no
CA2329Security

Do not deserialize with JsonSerializer using an insecure configuration

Do not deserialize with JsonSerializer using an insecure configuration

0 yes 0 no
CA2330Security

Ensure that JsonSerializer has a secure configuration when deserializing

Ensure that JsonSerializer has a secure configuration when deserializing

0 yes 0 no
CA2350Security

Ensure DataTable.ReadXml()'s input is trusted

Ensure DataTable.ReadXml()'s input is trusted

0 yes 0 no
CA2351Security

Ensure DataSet.ReadXml()'s input is trusted

Ensure DataSet.ReadXml()'s input is trusted

0 yes 0 no
CA2352Security

Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks

Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks

0 yes 0 no
CA2353Security

Unsafe DataSet or DataTable in serializable type

Unsafe DataSet or DataTable in serializable type

0 yes 0 no
CA2354Security

Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attack

Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attack

0 yes 0 no
CA2355Security

Unsafe DataSet or DataTable in deserialized object graph

Unsafe DataSet or DataTable in deserialized object graph

0 yes 0 no
CA2356Security

Unsafe DataSet or DataTable type in web deserialized object graph

Unsafe DataSet or DataTable type in web deserialized object graph

0 yes 0 no
CA2361Security

Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data

Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data

0 yes 0 no
CA2362Security

Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks

Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks

0 yes 0 no
CA3001Security

Review code for SQL injection vulnerabilities

Review code for SQL injection vulnerabilities

0 yes 0 no
CA3002Security

Review code for XSS vulnerabilities

Review code for XSS vulnerabilities

0 yes 0 no
CA3003Security

Review code for file path injection vulnerabilities

Review code for file path injection vulnerabilities

0 yes 0 no
CA3004Security

Review code for information disclosure vulnerabilities

Review code for information disclosure vulnerabilities

0 yes 0 no
CA3005Security

Review code for LDAP injection vulnerabilities

Review code for LDAP injection vulnerabilities

0 yes 0 no
CA3006Security

Review code for process command injection vulnerabilities

Review code for process command injection vulnerabilities

0 yes 0 no
CA3007Security

Review code for open redirect vulnerabilities

Review code for open redirect vulnerabilities

0 yes 0 no
CA3008Security

Review code for XPath injection vulnerabilities

Review code for XPath injection vulnerabilities

0 yes 0 no
CA3009Security

Review code for XML injection vulnerabilities

Review code for XML injection vulnerabilities

0 yes 0 no
CA3010Security

Review code for XAML injection vulnerabilities

Review code for XAML injection vulnerabilities

0 yes 0 no
CA3011Security

Review code for DLL injection vulnerabilities

Review code for DLL injection vulnerabilities

0 yes 0 no
CA3012Security

Review code for regex injection vulnerabilities

Review code for regex injection vulnerabilities

0 yes 0 no
CA3061Security

Do not add schema by URL

Do not add schema by URL

0 yes 0 no
CA3075Security

Insecure DTD Processing

Insecure DTD Processing

0 yes 0 no
CA3076Security

Insecure XSLT Script Execution

Insecure XSLT Script Execution

0 yes 0 no
CA3077Security

Insecure Processing in API Design, XML Document and XML Text Reader

Insecure Processing in API Design, XML Document and XML Text Reader

0 yes 0 no
CA3147Security

Mark verb handlers with ValidateAntiForgeryToken

Mark verb handlers with ValidateAntiForgeryToken

0 yes 0 no
CA5350Security

Do not use weak cryptographic algorithms

Avoid broken/weak algorithms such as SHA1, MD5, DES, and RC2.

0 yes 0 no
CA5351Security

Do Not Use Broken Cryptographic Algorithms

Do Not Use Broken Cryptographic Algorithms

0 yes 0 no
CA5358Security

Do Not Use Unsafe Cipher Modes

Do Not Use Unsafe Cipher Modes

0 yes 0 no
CA5359Security

Do not disable certificate validation

Do not disable certificate validation

0 yes 0 no
CA5360Security

Do not call dangerous methods in deserialization

Do not call dangerous methods in deserialization

0 yes 0 no
CA5361Security

Do not disable SChannel use of strong crypto

Do not disable SChannel use of strong crypto

0 yes 0 no
CA5362Security

Potential reference cycle in deserialized object graph

Potential reference cycle in deserialized object graph

0 yes 0 no
CA5363Security

Do not disable request validation

Do not disable request validation

0 yes 0 no
CA5364Security

Do not use deprecated security protocols

Do not use deprecated security protocols

0 yes 0 no
CA5365Security

Do Not Disable HTTP Header Checking

Do Not Disable HTTP Header Checking

0 yes 0 no
CA5366Security

Use XmlReader For DataSet Read XML

Use XmlReader For DataSet Read XML

0 yes 0 no
CA5367Security

Do not serialize types with pointer fields

Do not serialize types with pointer fields

0 yes 0 no
CA5368Security

Set ViewStateUserKey For Classes Derived From Page

Set ViewStateUserKey For Classes Derived From Page

0 yes 0 no
CA5369Security

Use XmlReader for Deserialize

Use XmlReader for Deserialize

0 yes 0 no
CA5370Security

Use XmlReader for validating reader

Use XmlReader for validating reader

0 yes 0 no
CA5371Security

Use XmlReader for schema read

Use XmlReader for schema read

0 yes 0 no
CA5372Security

Use XmlReader for XPathDocument

Use XmlReader for XPathDocument

0 yes 0 no
CA5373Security

Do not use obsolete key derivation function

Do not use obsolete key derivation function

0 yes 0 no
CA5374Security

Do not use XslTransform

Do not use XslTransform

0 yes 0 no
CA5375Security

Do not use account shared access signature

Do not use account shared access signature

0 yes 0 no
CA5376Security

Use SharedAccessProtocol HttpsOnly

Use SharedAccessProtocol HttpsOnly

0 yes 0 no
CA5377Security

Use container level access policy

Use container level access policy

0 yes 0 no
CA5378Security

Do not disable ServicePointManagerSecurityProtocols

Do not disable ServicePointManagerSecurityProtocols

0 yes 0 no
CA5379Security

Ensure key derivation function algorithm is sufficiently strong

Ensure key derivation function algorithm is sufficiently strong

0 yes 0 no
CA5380Security

Do not add certificates to root store

Do not add certificates to root store

0 yes 0 no
CA5381Security

Ensure certificates are not added to root store

Ensure certificates are not added to root store

0 yes 0 no
CA5382Security

Use secure cookies in ASP.NET Core

Use secure cookies in ASP.NET Core

0 yes 0 no
CA5383Security

Ensure use secure cookies in ASP.NET Core

Ensure use secure cookies in ASP.NET Core

0 yes 0 no
CA5384Security

Do not use digital signature algorithm (DSA)

Do not use digital signature algorithm (DSA)

0 yes 0 no
CA5385Security

Use Rivest–Shamir–Adleman (RSA) algorithm with sufficient key size

Use Rivest–Shamir–Adleman (RSA) algorithm with sufficient key size

0 yes 0 no
CA5386Security

Avoid hardcoding SecurityProtocolType value

Avoid hardcoding SecurityProtocolType value

0 yes 0 no
CA5387Security

Do not use weak key derivation function with insufficient iteration count

Do not use weak key derivation function with insufficient iteration count

0 yes 0 no
CA5388Security

Ensure sufficient iteration count when using weak key derivation function

Ensure sufficient iteration count when using weak key derivation function

0 yes 0 no
CA5389Security

Do not add archive item's path to the target file system path

Do not add archive item's path to the target file system path

0 yes 0 no
CA5390Security

Do not hard-code encryption key

Do not hard-code encryption key

0 yes 0 no
CA5391Security

Use antiforgery tokens in ASP.NET Core MVC controllers

Use antiforgery tokens in ASP.NET Core MVC controllers

0 yes 0 no
CA5392Security

Use DefaultDllImportSearchPaths attribute for P/Invokes

Use DefaultDllImportSearchPaths attribute for P/Invokes

0 yes 0 no
CA5393Security

Do not use unsafe DllImportSearchPath value

Do not use unsafe DllImportSearchPath value

0 yes 0 no
CA5394Security

Do not use insecure randomness

Do not use insecure randomness

0 yes 0 no
CA5395Security

Miss HttpVerb attribute for action methods

Miss HttpVerb attribute for action methods

0 yes 0 no
CA5396Security

Set HttpOnly to true for HttpCookie

Set HttpOnly to true for HttpCookie

0 yes 0 no
CA5397Security

Do not use deprecated SslProtocols values

Do not use deprecated SslProtocols values

0 yes 0 no
CA5398Security

Avoid hardcoded SslProtocols values

Avoid hardcoded SslProtocols values

0 yes 0 no
CA5399Security

Enable HttpClient certificate revocation list check

Enable HttpClient certificate revocation list check

0 yes 0 no
CA5400Security

Ensure HttpClient certificate revocation list check is not disabled

Ensure HttpClient certificate revocation list check is not disabled

0 yes 0 no
CA5401Security

Do not use CreateEncryptor with non-default IV

Do not use CreateEncryptor with non-default IV

0 yes 0 no
CA5402Security

Use CreateEncryptor with the default IV

Use CreateEncryptor with the default IV

0 yes 0 no
CA5403Security

Do not hard-code certificate

Do not hard-code certificate

0 yes 0 no
CA5404Security

Do not disable token validation checks

Do not disable token validation checks

0 yes 0 no
CA5405Security

Do not always skip token validation in delegates

Do not always skip token validation in delegates

0 yes 0 no