Skip to content

Instantly share code, notes, and snippets.

@Liversage
Last active February 28, 2024 07:27
Show Gist options
  • Save Liversage/b3a938d32169fbac945dcc8d864bc64e to your computer and use it in GitHub Desktop.
Save Liversage/b3a938d32169fbac945dcc8d864bc64e to your computer and use it in GitHub Desktop.
Visual Studio 2022 C# baseline .editorconfig
root = true
[*]
max_line_length = 160
# https://editorconfig.org/#supported-properties
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.cs]
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/
# IDE0001 Simplify name
dotnet_diagnostic.IDE0001.severity = suggestion
# IDE0002 Simplify member access
dotnet_diagnostic.IDE0002.severity = suggestion
# IDE0003 Remove this or Me qualification
# IDE0009 Add this or Me qualification
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion
# IDE0004 Remove unnecessary cast
dotnet_diagnostic.IDE0004.severity = suggestion
# IDE0005 Remove unnecessary using directives
dotnet_diagnostic.IDE0005.severity = suggestion
# IDE0007 Use var instead of explicit type
# IDE0008 Use explicit type instead of var
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = true:suggestion
# IDE0010 Add missing cases to switch statement
dotnet_diagnostic.IDE0010.severity = suggestion
# IDE0011 Add braces
csharp_prefer_braces = false:suggestion
# IDE0016 Use throw expression
csharp_style_throw_expression = true:suggestion
# IDE0017 Use object initializers
dotnet_style_object_initializer = true:suggestion
# IDE0018 Inline variable declaration
csharp_style_inlined_variable_declaration = true:suggestion
# IDE0019 Use pattern matching to avoid as followed by a null check
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# IDE0020 Use pattern matching to avoid is check followed by a cast (with variable)
# IDE0038 Use pattern matching to avoid is check followed by a cast (without variable)
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
# IDE0021 Use expression body for constructors
csharp_style_expression_bodied_constructors = true:suggestion
# IDE0022 Use expression body for methods
csharp_style_expression_bodied_methods = true:suggestion
# IDE0023 Use expression body for conversion operators
# IDE0024 Use expression body for operators
csharp_style_expression_bodied_operators = true:suggestion
# IDE0025 Use expression body for properties
csharp_style_expression_bodied_properties = true:suggestion
# IDE0026 Use expression body for indexers
csharp_style_expression_bodied_indexers = true:suggestion
# IDE0027 Use expression body for accessors
csharp_style_expression_bodied_accessors = true:suggestion
# IDE0028 Use collection initializers
dotnet_style_collection_initializer = true:suggestion
# IDE0029 Null check can be simplified
# IDE0030 Null check can be simplified
# IDE0270 Null check can be simplified
dotnet_style_coalesce_expression = true:suggestion
# IDE0031 Use null propagation
dotnet_style_null_propagation = true:suggestion
# IDE0032 Use auto property
dotnet_style_prefer_auto_properties = true:suggestion
# IDE0033 Use explicitly provided tuple name
dotnet_style_explicit_tuple_names = true:suggestion
# IDE0034 Simplify default expression
csharp_prefer_simple_default_expression = true:suggestion
# IDE0035 Remove unreachable code
dotnet_diagnostic.IDE0035.severity = suggestion
# IDE0036 Order modifiers
csharp_preferred_modifier_order = public, private, protected, internal, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, volatile, async:suggestion
# IDE0037 Use inferred member name
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
# IDE0039 Use local function instead of lambda
csharp_style_pattern_local_over_anonymous_function = true:suggestion
# IDE0040 Add accessibility modifiers
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
# IDE0041 Use is null check
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
# IDE0042 Deconstruct variable declaration
csharp_style_deconstructed_variable_declaration = true:suggestion
# IDE0044 Add readonly modifier
dotnet_style_readonly_field = true:suggestion
# IDE0045 Use conditional expression for assignment
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
# IDE0046 Use conditional expression for return
dotnet_style_prefer_conditional_expression_over_return = true:suggestion
# IDE0047 Remove unnecessary parentheses
# IDE0048 Add parentheses for clarity
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
# IDE0049 Use language keywords instead of framework type names for type references
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# IDE0050 Convert anonymous type to tuple
dotnet_diagnostic.IDE0050.severity = suggestion
# IDE0051 Remove unused private member
dotnet_diagnostic.IDE0051.severity = suggestion
# IDE0052 Remove unread private member
dotnet_diagnostic.IDE0052.severity = suggestion
# IDE0053 Use expression body for lambdas
csharp_style_expression_bodied_lambdas = true:suggestion
# IDE0054 Use compound assignment
# IDE0074 Use coalesce compound assignment
dotnet_style_prefer_compound_assignment = true:suggestion
# IDE0056 Use index operator
csharp_style_prefer_index_operator = true:suggestion
# IDE0057 Use range operator
csharp_style_prefer_range_operator = true:suggestion
# IDE0058 Remove unused expression value
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
# IDE0059 Remove unnecessary value assignment
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
# IDE0060 Remove unused parameter
dotnet_code_quality_unused_parameters = all:suggestion
# IDE0061 Use expression body for local functions
csharp_style_expression_bodied_local_functions = true:suggestion
# IDE0062 Make local function static
csharp_prefer_static_local_function = true:suggestion
# IDE0063 Use simple using statement
csharp_prefer_simple_using_statement = true:suggestion
# IDE0064 Make struct fields writable
dotnet_diagnostic.IDE0064.severity = suggestion
# IDE0065 using directive placement
csharp_using_directive_placement = outside_namespace:suggestion
# IDE0066 Use switch expression
csharp_style_prefer_switch_expression = true:suggestion
# IDE0070 Use 'System.HashCode.Combine'
dotnet_diagnostic.IDE0070.severity = suggestion
# IDE0071 Simplify interpolation
dotnet_style_prefer_simplified_interpolation = true:suggestion
# IDE0072 Add missing cases to switch expression
dotnet_diagnostic.IDE0072.severity = suggestion
# IDE0073 Require file header
dotnet_diagnostic.IDE0073.severity = none
# IDE0075 Simplify conditional expression
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
# IDE0076 Remove invalid global 'SuppressMessageAttribute'
dotnet_diagnostic.IDE0076.severity = suggestion
# IDE0077 Avoid legacy format target in global 'SuppressMessageAttribute'
dotnet_diagnostic.IDE0077.severity = suggestion
# IDE0078 Use pattern matching
csharp_style_prefer_pattern_matching = true:suggestion
# IDE0079 Remove unnecessary suppression
dotnet_remove_unnecessary_suppression_exclusions = true:suggestion
# IDE0080 Remove unnecessary suppression operator
dotnet_diagnostic.IDE0080.severity = suggestion
# IDE0082 Convert typeof to nameof
dotnet_diagnostic.IDE0082.severity = suggestion
# IDE0083 Use pattern matching (not operator)
csharp_style_prefer_not_pattern = true:suggestion
# IDE0090 Simplify new expression
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
# IDE0100 Remove unnecessary equality operator
dotnet_diagnostic.IDE0100.severity = suggestion
# IDE0110 Remove unnecessary discard
dotnet_diagnostic.IDE0110.severity = suggestion
# IDE0120 Simplify LINQ expression
dotnet_diagnostic.IDE0120.severity = suggestion
# IDE0130 Namespace does not match folder structure
dotnet_style_namespace_match_folder = true:suggestion
# IDE0150 Prefer 'null' check over type check
csharp_style_prefer_null_check_over_type_check = true:warning
# IDE0160 Namespace declaration preferences
# IDE0161 Namespace declaration preferences
csharp_style_namespace_declarations = file_scoped:warning
# IDE0170 Simplify property pattern
csharp_style_prefer_extended_property_pattern = true:warning
# IDE0180 Use tuple to swap values
csharp_style_prefer_tuple_swap = true:suggestion
# IDE0200 Remove unnecessary lambda expression
csharp_style_prefer_method_group_conversion = true:warning
# IDE0210 Convert to top-level statements
# IDE0211 Convert to 'Program.Main' style program
csharp_style_prefer_top_level_statements = true:suggestion
# IDE0220 Add explicit cast in foreach loop
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_type:suggestion
# IDE0230 Use UTF-8 string literal
csharp_style_prefer_utf8_string_literals = true:suggestion
# IDE0240 Nullable directive is redundant
dotnet_diagnostic.IDE0240.severity = warning
# IDE0241 Nullable directive is unnecessary
dotnet_diagnostic.IDE0241.severity = warning
# IDE0250 Struct can be made 'readonly'
csharp_style_prefer_readonly_struct = true:warning
# IDE0251 Member can be made 'readonly'
csharp_style_prefer_readonly_struct_member = true:warning
# IDE0260 Use pattern matching
# Same rule name as IDE0019
# csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# IDE0280 Use 'nameof'
dotnet_diagnostic.IDE0280.severity = suggestion
# IDE0290 Use primary constructor
csharp_style_prefer_primary_constructors = true:suggestion
# IDE0300 Use collection expression for array
# IDE0301 Use collection expression for empty
# IDE0302 Use collection expression for stackalloc
# IDE0303 Use collection expression for Create()
# IDE0304 Use collection expression for builder
# IDE0305 Use collection expression for fluent
dotnet_style_prefer_collection_expression = true:suggestion
# IDE1005 Use conditional delegate call
csharp_style_conditional_delegate_call = true:suggestion
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/formatting-rules
# IDE0055 Formatting rule
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = false
csharp_new_line_between_query_expression_clauses = true
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = one_less_than_current
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents_when_block = false
csharp_space_after_cast = true
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_parentheses = false # false (or any other value) Never add spaces between parentheses
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = ignore
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_after_comma = true
csharp_space_before_comma = false
csharp_space_after_dot = false
csharp_space_before_dot = false
csharp_space_after_semicolon_in_for_statement = true
csharp_space_before_semicolon_in_for_statement = false
csharp_space_around_declaration_statements = false
csharp_space_before_open_square_brackets = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_square_brackets = false
csharp_preserve_single_line_statements = false
csharp_preserve_single_line_blocks = true
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-naming-conventions
# No baseline naming conventions.
# https://docs.microsoft.com/en-us/visualstudio/code-quality/code-analysis-warnings-for-managed-code-by-checkid
# CA1000: Do not declare static members on generic types
dotnet_diagnostic.CA1000.severity = warning
# CA1001: Types that own disposable fields should be disposable
dotnet_diagnostic.CA1001.severity = warning
# CA1002: Do not expose generic lists
dotnet_diagnostic.CA1002.severity = warning
# CA1003: Use generic event handler instances
dotnet_diagnostic.CA1003.severity = warning
# CA1005: Avoid excessive parameters on generic types
dotnet_diagnostic.CA1005.severity = warning
# CA1008: Enums should have zero value
dotnet_diagnostic.CA1008.severity = warning
# CA1010: Collections should implement generic interface
dotnet_diagnostic.CA1010.severity = warning
# CA1012: Abstract types should not have public constructors
dotnet_diagnostic.CA1012.severity = warning
# CA1014: Mark assemblies with CLSCompliantAttribute
dotnet_diagnostic.CA1014.severity = warning
# CA1016: Mark assemblies with AssemblyVersionAttribute
dotnet_diagnostic.CA1016.severity = warning
# CA1017: Mark assemblies with ComVisibleAttribute
dotnet_diagnostic.CA1017.severity = warning
# CA1018: Mark attributes with AttributeUsageAttribute
dotnet_diagnostic.CA1018.severity = warning
# CA1019: Define accessors for attribute arguments
dotnet_diagnostic.CA1019.severity = warning
# CA1021: Avoid out parameters
dotnet_diagnostic.CA1021.severity = warning
# CA1024: Use properties where appropriate
dotnet_diagnostic.CA1024.severity = warning
# CA1027: Mark enums with FlagsAttribute
dotnet_diagnostic.CA1027.severity = warning
# CA1028: Enum storage should be Int32
dotnet_diagnostic.CA1028.severity = warning
# CA1030: Use events where appropriate
dotnet_diagnostic.CA1030.severity = warning
# CA1031: Do not catch general exception types
dotnet_diagnostic.CA1031.severity = warning
# CA1032: Implement standard exception constructors
dotnet_diagnostic.CA1032.severity = warning
# CA1033: Interface methods should be callable by child types
dotnet_diagnostic.CA1033.severity = warning
# CA1034: Nested types should not be visible
dotnet_diagnostic.CA1034.severity = warning
# CA1036: Override methods on comparable types
dotnet_diagnostic.CA1036.severity = warning
# CA1040: Avoid empty interfaces
dotnet_diagnostic.CA1040.severity = warning
# CA1041: Provide ObsoleteAttribute message
dotnet_diagnostic.CA1041.severity = warning
# CA1043: Use integral or string argument for indexers
dotnet_diagnostic.CA1043.severity = warning
# CA1044: Properties should not be write only
dotnet_diagnostic.CA1044.severity = warning
# CA1045: Do not pass types by reference
dotnet_diagnostic.CA1045.severity = warning
# CA1046: Do not overload operator equals on reference types
dotnet_diagnostic.CA1046.severity = warning
# CA1047: Do not declare protected members in sealed types
dotnet_diagnostic.CA1047.severity = warning
# CA1050: Declare types in namespaces
dotnet_diagnostic.CA1050.severity = warning
# CA1051: Do not declare visible instance fields
dotnet_diagnostic.CA1051.severity = warning
# CA1052: Static holder types should be sealed
dotnet_diagnostic.CA1052.severity = warning
# CA1053: Static holder types should not have constructors
dotnet_diagnostic.CA1053.severity = warning
# CA1054: URI parameters should not be strings
dotnet_diagnostic.CA1054.severity = warning
# CA1055: URI return values should not be strings
dotnet_diagnostic.CA1055.severity = warning
# CA1056: URI properties should not be strings
dotnet_diagnostic.CA1056.severity = warning
# CA1058: Types should not extend certain base types
dotnet_diagnostic.CA1058.severity = warning
# CA1060: Move P/Invokes to NativeMethods class
dotnet_diagnostic.CA1060.severity = warning
# CA1061: Do not hide base class methods
dotnet_diagnostic.CA1061.severity = warning
# CA1062: Validate arguments of public methods
dotnet_diagnostic.CA1062.severity = warning
# CA1063: Implement IDisposable correctly
dotnet_diagnostic.CA1063.severity = warning
# CA1064: Exceptions should be public
dotnet_diagnostic.CA1064.severity = warning
# CA1065: Do not raise exceptions in unexpected locations
dotnet_diagnostic.CA1065.severity = warning
# CA1066: Implement IEquatable when overriding Equals
dotnet_diagnostic.CA1066.severity = warning
# CA1067: Override Equals when implementing IEquatable
dotnet_diagnostic.CA1067.severity = warning
# CA1068: CancellationToken parameters must come last
dotnet_diagnostic.CA1068.severity = warning
# CA1069: Enums should not have duplicate values
dotnet_diagnostic.CA1069.severity = warning
# CA1070: Do not declare event fields as virtual
dotnet_diagnostic.CA1070.severity = warning
# CA1200: Avoid using cref tags with a prefix
dotnet_diagnostic.CA1200.severity = warning
# CA1303: Do not pass literals as localized parameters
dotnet_diagnostic.CA1303.severity = warning
# CA1304: Specify CultureInfo
dotnet_diagnostic.CA1304.severity = warning
# CA1305: Specify IFormatProvider
dotnet_diagnostic.CA1305.severity = warning
# CA1307: Specify StringComparison for clarity
dotnet_diagnostic.CA1307.severity = warning
# CA1308: Normalize strings to uppercase
dotnet_diagnostic.CA1308.severity = warning
# CA1309: Use ordinal StringComparison
dotnet_diagnostic.CA1309.severity = warning
# CA1310: Specify StringComparison for correctness
dotnet_diagnostic.CA1310.severity = warning
# CA1311: Specify a culture or use an invariant version
dotnet_diagnostic.CA1311.severity = warning
# CA1401: P/Invokes should not be visible
dotnet_diagnostic.CA1401.severity = warning
# CA1416: Validate platform compatibility
dotnet_diagnostic.CA1416.severity = warning
# CA1417: Do not use OutAttribute on string parameters for P/Invokes
dotnet_diagnostic.CA1417.severity = warning
# CA1418: Use valid platform string
dotnet_diagnostic.CA1418.severity = warning
# CA1419: Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'
dotnet_diagnostic.CA1419.severity = warning
# CA1420: Property, type, or attribute requires runtime marshalling
dotnet_diagnostic.CA1420.severity = warning
# CA1421: Method uses runtime marshalling when DisableRuntimeMarshallingAttribute is applied
dotnet_diagnostic.CA1421.severity = warning
# CA1422: Validate platform compatibility
dotnet_diagnostic.CA1422.severity = warning
# CA1501: Avoid excessive inheritance
dotnet_diagnostic.CA1501.severity = warning
# CA1502: Avoid excessive complexity
dotnet_diagnostic.CA1502.severity = warning
# CA1505: Avoid unmaintainable code
dotnet_diagnostic.CA1505.severity = warning
# CA1506: Avoid excessive class coupling
dotnet_diagnostic.CA1506.severity = warning
# CA1507: Use nameof in place of string
dotnet_diagnostic.CA1507.severity = warning
# CA1508: Avoid dead conditional code
dotnet_diagnostic.CA1508.severity = warning
# CA1509: Invalid entry in code metrics configuration file
dotnet_diagnostic.CA1509.severity = warning
# CA1510: Use ArgumentNullException throw helper
dotnet_diagnostic.CA1510.severity = warning
# CA1511: Use ArgumentException throw helper
dotnet_diagnostic.CA1511.severity = warning
# CA1512: Use ArgumentOutOfRangeException throw helper
dotnet_diagnostic.CA1512.severity = warning
# CA1513: Use ObjectDisposedException throw helper
dotnet_diagnostic.CA1513.severity = warning
# CA1514: Avoid redundant length argument
dotnet_diagnostic.CA1514.severity = warning
# CA1515: Consider making public types internal
dotnet_diagnostic.CA1515.severity = warning
# CA1700: Do not name enum values 'Reserved'
dotnet_diagnostic.CA1700.severity = warning
# CA1707: Identifiers should not contain underscores
dotnet_diagnostic.CA1707.severity = warning
# CA1708: Identifiers should differ by more than case
dotnet_diagnostic.CA1708.severity = warning
# CA1710: Identifiers should have correct suffix
dotnet_diagnostic.CA1710.severity = warning
# CA1711: Identifiers should not have incorrect suffix
dotnet_diagnostic.CA1711.severity = warning
# CA1712: Do not prefix enum values with type name
dotnet_diagnostic.CA1712.severity = warning
# CA1713: Events should not have before or after prefix
dotnet_diagnostic.CA1713.severity = warning
# CA1714: Flags enums should have plural names
dotnet_diagnostic.CA1714.severity = warning
# CA1715: Identifiers should have correct prefix
dotnet_diagnostic.CA1715.severity = warning
# CA1716: Identifiers should not match keywords
dotnet_diagnostic.CA1716.severity = warning
# CA1717: Only FlagsAttribute enums should have plural names
dotnet_diagnostic.CA1717.severity = warning
# CA1720: Identifiers should not contain type names
dotnet_diagnostic.CA1720.severity = warning
# CA1721: Property names should not match get methods
dotnet_diagnostic.CA1721.severity = warning
# CA1724: Type Names Should Not Match Namespaces
dotnet_diagnostic.CA1724.severity = warning
# CA1725: Parameter names should match base declaration
dotnet_diagnostic.CA1725.severity = warning
# CA1727: Use PascalCase for named placeholders
dotnet_diagnostic.CA1727.severity = warning
# CA1801: Review unused parameters
dotnet_diagnostic.CA1801.severity = warning
# CA1802: Use Literals Where Appropriate
dotnet_diagnostic.CA1802.severity = warning
# CA1805: Do not initialize unnecessarily
dotnet_diagnostic.CA1805.severity = warning
# CA1806: Do not ignore method results
dotnet_diagnostic.CA1806.severity = warning
# CA1810: Initialize reference type static fields inline
dotnet_diagnostic.CA1810.severity = warning
# CA1812: Avoid uninstantiated internal classes
dotnet_diagnostic.CA1812.severity = warning
# CA1813: Avoid unsealed attributes
dotnet_diagnostic.CA1813.severity = warning
# CA1814: Prefer jagged arrays over multidimensional
dotnet_diagnostic.CA1814.severity = warning
# CA1815: Override equals and operator equals on value types
dotnet_diagnostic.CA1815.severity = warning
# CA1816: Call GC.SuppressFinalize correctly
dotnet_diagnostic.CA1816.severity = warning
# CA1819: Properties should not return arrays
dotnet_diagnostic.CA1819.severity = warning
# CA1820: Test for empty strings using string length
dotnet_diagnostic.CA1820.severity = warning
# CA1821: Remove empty finalizers
dotnet_diagnostic.CA1821.severity = warning
# CA1822: Mark members as static
dotnet_diagnostic.CA1822.severity = warning
# CA1823: Avoid unused private fields
dotnet_diagnostic.CA1823.severity = warning
# CA1824: Mark assemblies with NeutralResourcesLanguageAttribute
dotnet_diagnostic.CA1824.severity = warning
# CA1825: Avoid zero-length array allocations
dotnet_diagnostic.CA1825.severity = warning
# CA1826: Use property instead of Linq Enumerable method
dotnet_diagnostic.CA1826.severity = warning
# CA1827: Do not use Count/LongCount when Any can be used
dotnet_diagnostic.CA1827.severity = warning
# CA1828: Do not use CountAsync/LongCountAsync when AnyAsync can be used
dotnet_diagnostic.CA1828.severity = warning
# CA1829: Use Length/Count property instead of Enumerable.Count method
dotnet_diagnostic.CA1829.severity = warning
# CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder
dotnet_diagnostic.CA1830.severity = warning
# CA1831: Use AsSpan instead of Range-based indexers for string when appropriate
dotnet_diagnostic.CA1831.severity = warning
# CA1832: Use AsSpan or AsMemory instead of Range-based indexers for getting ReadOnlySpan or ReadOnlyMemory portion of an array
dotnet_diagnostic.CA1832.severity = warning
# CA1833: Use AsSpan or AsMemory instead of Range-based indexers for getting Span or Memory portion of an array
dotnet_diagnostic.CA1833.severity = warning
# CA1834: Use StringBuilder.Append(char) for single character strings
dotnet_diagnostic.CA1834.severity = warning
# CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync'
dotnet_diagnostic.CA1835.severity = warning
# CA1836: Prefer IsEmpty over Count when available
dotnet_diagnostic.CA1836.severity = warning
# CA1837: Use Environment.ProcessId instead of Process.GetCurrentProcess().Id
dotnet_diagnostic.CA1837.severity = warning
# CA1838: Avoid StringBuilder parameters for P/Invokes
dotnet_diagnostic.CA1838.severity = warning
# CA1839: Use Environment.ProcessPath instead of Process.GetCurrentProcess().MainModule.FileName
dotnet_diagnostic.CA1839.severity = warning
# CA1840: Use Environment.CurrentManagedThreadId instead of Thread.CurrentThread.ManagedThreadId
dotnet_diagnostic.CA1840.severity = warning
# CA1841: Prefer Dictionary Contains methods
dotnet_diagnostic.CA1841.severity = warning
# CA1842: Do not use 'WhenAll' with a single task
dotnet_diagnostic.CA1842.severity = warning
# CA1843: Do not use 'WaitAll' with a single task
dotnet_diagnostic.CA1843.severity = warning
# CA1844: Provide memory-based overrides of async methods when subclassing 'Stream'
dotnet_diagnostic.CA1844.severity = warning
# CA1845: Use span-based 'string.Concat'
dotnet_diagnostic.CA1845.severity = warning
# CA1846: Prefer AsSpan over Substring
dotnet_diagnostic.CA1846.severity = warning
# CA1847: Use char literal for a single character lookup
dotnet_diagnostic.CA1847.severity = warning
# CA1848: Use the LoggerMessage delegates
dotnet_diagnostic.CA1848.severity = warning
# CA1849: Call async methods when in an async method
dotnet_diagnostic.CA1849.severity = warning
# CA1850: Prefer static HashData method over ComputeHash
dotnet_diagnostic.CA1850.severity = warning
# CA1851: Possible multiple enumerations of IEnumerable collection
dotnet_diagnostic.CA1851.severity = warning
# CA1852: Seal internal types
dotnet_diagnostic.CA1852.severity = warning
# CA1853: Unnecessary call to 'Dictionary.ContainsKey(key)'
dotnet_diagnostic.CA1853.severity = warning
# CA1854: Prefer the 'IDictionary.TryGetValue(TKey, out TValue)' method
dotnet_diagnostic.CA1854.severity = warning
# CA1855: Use Span<T>.Clear() instead of Span<T>.Fill()
dotnet_diagnostic.CA1855.severity = warning
# CA1856: Incorrect usage of ConstantExpected attribute
dotnet_diagnostic.CA1856.severity = warning
# CA1857: The parameter expects a constant for optimal performance
dotnet_diagnostic.CA1857.severity = warning
# CA1858: Use StartsWith instead of IndexOf
dotnet_diagnostic.CA1858.severity = warning
# CA1859: Use concrete types when possible for improved performance
dotnet_diagnostic.CA1859.severity = warning
# CA1860: Avoid using 'Enumerable.Any()' extension method
dotnet_diagnostic.CA1860.severity = warning
# CA1861: Avoid constant arrays as arguments
dotnet_diagnostic.CA1861.severity = warning
# CA1862: Use the 'StringComparison' method overloads to perform case-insensitive string comparisons
dotnet_diagnostic.CA1862.severity = warning
# CA1863: Use 'CompositeFormat'
dotnet_diagnostic.CA1863.severity = warning
# CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method
dotnet_diagnostic.CA1864.severity = warning
# CA1865:
dotnet_diagnostic.CA1865.severity = warning
# CA1866:
dotnet_diagnostic.CA1866.severity = warning
# CA1867:
dotnet_diagnostic.CA1867.severity = warning
# CA1868: Unnecessary call to 'Contains' for sets
dotnet_diagnostic.CA1868.severity = warning
# CA1869: Cache and reuse 'JsonSerializerOptions' instances
dotnet_diagnostic.CA1869.severity = warning
# CA1870: Use a cached 'SearchValues' instance
dotnet_diagnostic.CA1870.severity = warning
# CA2000: Dispose objects before losing scope
dotnet_diagnostic.CA2000.severity = warning
# CA2002: Do not lock on objects with weak identity
dotnet_diagnostic.CA2002.severity = warning
# CA2007: Do not directly await a Task
dotnet_diagnostic.CA2007.severity = warning
# CA2008: Do not create tasks without passing a TaskScheduler
dotnet_diagnostic.CA2008.severity = warning
# CA2009: Do not call ToImmutableCollection on an ImmutableCollection value
dotnet_diagnostic.CA2009.severity = warning
# CA2011: Do not assign property within its setter
dotnet_diagnostic.CA2011.severity = warning
# CA2012: Use ValueTasks correctly
dotnet_diagnostic.CA2012.severity = warning
# CA2013: Do not use ReferenceEquals with value types
dotnet_diagnostic.CA2013.severity = warning
# CA2014: Do not use stackalloc in loops.
dotnet_diagnostic.CA2014.severity = warning
# CA2015: Do not define finalizers for types derived from MemoryManager<T>
dotnet_diagnostic.CA2015.severity = warning
# CA2016: Forward the CancellationToken parameter to methods that take one
dotnet_diagnostic.CA2016.severity = warning
# CA2017: Parameter count mismatch
dotnet_diagnostic.CA2017.severity = warning
# CA2018: The count argument to Buffer.BlockCopy should specify the number of bytes to copy
dotnet_diagnostic.CA2018.severity = warning
# CA2019: ThreadStatic fields should not use inline initialization
dotnet_diagnostic.CA2019.severity = warning
# CA2020: Prevent behavioral change caused by built-in operators of IntPtr/UIntPtr
dotnet_diagnostic.CA2020.severity = warning
# CA2021: Don't call Enumerable.Cast<T> or Enumerable.OfType<T> with incompatible types
dotnet_diagnostic.CA2021.severity = warning
# CA2100: Review SQL queries for security vulnerabilities
dotnet_diagnostic.CA2100.severity = warning
# CA2101: Specify marshalling for P/Invoke string arguments
dotnet_diagnostic.CA2101.severity = warning
# CA2109: Review visible event handlers
dotnet_diagnostic.CA2109.severity = warning
# CA2119: Seal methods that satisfy private interfaces
dotnet_diagnostic.CA2119.severity = warning
# CA2153: Avoid handling Corrupted State Exceptions
dotnet_diagnostic.CA2153.severity = warning
# CA2200: Rethrow to preserve stack details
dotnet_diagnostic.CA2200.severity = warning
# CA2201: Do not raise reserved exception types
dotnet_diagnostic.CA2201.severity = warning
# CA2207: Initialize value type static fields inline
dotnet_diagnostic.CA2207.severity = warning
# CA2208: Instantiate argument exceptions correctly
dotnet_diagnostic.CA2208.severity = warning
# CA2211: Non-constant fields should not be visible
dotnet_diagnostic.CA2211.severity = warning
# CA2213: Disposable fields should be disposed
dotnet_diagnostic.CA2213.severity = warning
# CA2214: Do not call overridable methods in constructors
dotnet_diagnostic.CA2214.severity = warning
# CA2215: Dispose methods should call base class dispose
dotnet_diagnostic.CA2215.severity = warning
# CA2216: Disposable types should declare finalizer
dotnet_diagnostic.CA2216.severity = warning
# CA2217: Do not mark enums with FlagsAttribute
dotnet_diagnostic.CA2217.severity = warning
# CA2218: Override GetHashCode on overriding Equals
dotnet_diagnostic.CA2218.severity = warning
# CA2219: Do not raise exceptions in exception clauses
dotnet_diagnostic.CA2219.severity = warning
# CA2224: Override equals on overloading operator equals
dotnet_diagnostic.CA2224.severity = warning
# CA2225: Operator overloads have named alternates
dotnet_diagnostic.CA2225.severity = warning
# CA2226: Operators should have symmetrical overloads
dotnet_diagnostic.CA2226.severity = warning
# CA2227: Collection properties should be read only
dotnet_diagnostic.CA2227.severity = warning
# CA2229: Implement serialization constructors
dotnet_diagnostic.CA2229.severity = warning
# CA2231: Overload operator equals on overriding ValueType.Equals
dotnet_diagnostic.CA2231.severity = warning
# CA2234: Pass System.Uri objects instead of strings
dotnet_diagnostic.CA2234.severity = warning
# CA2235: Mark all non-serializable fields
dotnet_diagnostic.CA2235.severity = warning
# CA2237: Mark ISerializable types with SerializableAttribute
dotnet_diagnostic.CA2237.severity = warning
# CA2241: Provide correct arguments to formatting methods
dotnet_diagnostic.CA2241.severity = warning
# CA2242: Test for NaN correctly
dotnet_diagnostic.CA2242.severity = warning
# CA2243: Attribute string literals should parse correctly
dotnet_diagnostic.CA2243.severity = warning
# CA2244: Do not duplicate indexed element initializations
dotnet_diagnostic.CA2244.severity = warning
# CA2245: Do not assign a property to itself
dotnet_diagnostic.CA2245.severity = warning
# CA2246: Do not assign a symbol and its member in the same statement
dotnet_diagnostic.CA2246.severity = warning
# CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum.
dotnet_diagnostic.CA2247.severity = warning
# CA2248: Provide correct enum argument to Enum.HasFlag
dotnet_diagnostic.CA2248.severity = warning
# CA2249: Consider using String.Contains instead of String.IndexOf
dotnet_diagnostic.CA2249.severity = warning
# CA2250: Use ThrowIfCancellationRequested
dotnet_diagnostic.CA2250.severity = warning
# CA2251: Use String.Equals over String.Compare
dotnet_diagnostic.CA2251.severity = warning
# CA2252: Opt in to preview features
dotnet_diagnostic.CA2252.severity = warning
# CA2253: Named placeholders should not be numeric values
dotnet_diagnostic.CA2253.severity = warning
# CA2254: Template should be a static expression
dotnet_diagnostic.CA2254.severity = warning
# CA2255: The ModuleInitializer attribute should not be used in libraries
dotnet_diagnostic.CA2255.severity = warning
# CA2256: All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface
dotnet_diagnostic.CA2256.severity = warning
# CA2257: Members defined on an interface with 'DynamicInterfaceCastableImplementationAttribute' should be 'static'
dotnet_diagnostic.CA2257.severity = warning
# CA2258: Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported
dotnet_diagnostic.CA2258.severity = warning
# CA2259: Ensure ThreadStatic is only used with static fields
dotnet_diagnostic.CA2259.severity = warning
# CA2260: Implement generic math interfaces correctly
dotnet_diagnostic.CA2260.severity = warning
# CA2261: Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>
dotnet_diagnostic.CA2261.severity = warning
# CA2300: Do not use insecure deserializer BinaryFormatter
dotnet_diagnostic.CA2300.severity = warning
# CA2301: Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder
dotnet_diagnostic.CA2301.severity = warning
# CA2302: Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize
dotnet_diagnostic.CA2302.severity = warning
# CA2305: Do not use insecure deserializer LosFormatter
dotnet_diagnostic.CA2305.severity = warning
# CA2310: Do not use insecure deserializer NetDataContractSerializer
dotnet_diagnostic.CA2310.severity = warning
# CA2311: Do not deserialize without first setting NetDataContractSerializer.Binder
dotnet_diagnostic.CA2311.severity = warning
# CA2312: Ensure NetDataContractSerializer.Binder is set before deserializing
dotnet_diagnostic.CA2312.severity = warning
# CA2315: Do not use insecure deserializer ObjectStateFormatter
dotnet_diagnostic.CA2315.severity = warning
# CA2321: Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver
dotnet_diagnostic.CA2321.severity = warning
# CA2322: Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing
dotnet_diagnostic.CA2322.severity = warning
# CA2326: Do not use TypeNameHandling values other than None
dotnet_diagnostic.CA2326.severity = warning
# CA2327: Do not use insecure JsonSerializerSettings
dotnet_diagnostic.CA2327.severity = warning
# CA2328: Ensure that JsonSerializerSettings are secure
dotnet_diagnostic.CA2328.severity = warning
# CA2329: Do not deserialize with JsonSerializer using an insecure configuration
dotnet_diagnostic.CA2329.severity = warning
# CA2330: Ensure that JsonSerializer has a secure configuration when deserializing
dotnet_diagnostic.CA2330.severity = warning
# CA2350: Ensure DataTable.ReadXml()'s input is trusted
dotnet_diagnostic.CA2350.severity = warning
# CA2351: Ensure DataSet.ReadXml()'s input is trusted
dotnet_diagnostic.CA2351.severity = warning
# CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks
dotnet_diagnostic.CA2352.severity = warning
# CA2353: Unsafe DataSet or DataTable in serializable type
dotnet_diagnostic.CA2353.severity = warning
# CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attack
dotnet_diagnostic.CA2354.severity = warning
# CA2355: Unsafe DataSet or DataTable in deserialized object graph
dotnet_diagnostic.CA2355.severity = warning
# CA2356: Unsafe DataSet or DataTable in web deserialized object graph
dotnet_diagnostic.CA2356.severity = warning
# CA2361: Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data
dotnet_diagnostic.CA2361.severity = warning
# CA2362: Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks
dotnet_diagnostic.CA2362.severity = warning
# CA3001: Review code for SQL injection vulnerabilities
dotnet_diagnostic.CA3001.severity = warning
# CA3002: Review code for XSS vulnerabilities
dotnet_diagnostic.CA3002.severity = warning
# CA3003: Review code for file path injection vulnerabilities
dotnet_diagnostic.CA3003.severity = warning
# CA3004: Review code for information disclosure vulnerabilities
dotnet_diagnostic.CA3004.severity = warning
# CA3005: Review code for LDAP injection vulnerabilities
dotnet_diagnostic.CA3005.severity = warning
# CA3006: Review code for process command injection vulnerabilities
dotnet_diagnostic.CA3006.severity = warning
# CA3007: Review code for open redirect vulnerabilities
dotnet_diagnostic.CA3007.severity = warning
# CA3008: Review code for XPath injection vulnerabilities
dotnet_diagnostic.CA3008.severity = warning
# CA3009: Review code for XML injection vulnerabilities
dotnet_diagnostic.CA3009.severity = warning
# CA3010: Review code for XAML injection vulnerabilities
dotnet_diagnostic.CA3010.severity = warning
# CA3011: Review code for DLL injection vulnerabilities
dotnet_diagnostic.CA3011.severity = warning
# CA3012: Review code for regex injection vulnerabilities
dotnet_diagnostic.CA3012.severity = warning
# CA3061: Do not add schema by URL
dotnet_diagnostic.CA3061.severity = warning
# CA3075: Insecure DTD Processing
dotnet_diagnostic.CA3075.severity = warning
# CA3076: Insecure XSLT Script Execution
dotnet_diagnostic.CA3076.severity = warning
# CA3077: Insecure Processing in API Design, XML Document and XML Text Reader
dotnet_diagnostic.CA3077.severity = warning
# CA3147: Mark verb handlers with ValidateAntiForgeryToken
dotnet_diagnostic.CA3147.severity = warning
# CA5350: Do Not Use Weak Cryptographic Algorithms
dotnet_diagnostic.CA5350.severity = warning
# CA5351: Do Not Use Broken Cryptographic Algorithms
dotnet_diagnostic.CA5351.severity = warning
# CA5358: Do Not Use Unsafe Cipher Modes
dotnet_diagnostic.CA5358.severity = warning
# CA5359: Do not disable certificate validation
dotnet_diagnostic.CA5359.severity = warning
# CA5360: Do not call dangerous methods in deserialization
dotnet_diagnostic.CA5360.severity = warning
# CA5361: Do not disable Schannel use of strong crypto
dotnet_diagnostic.CA5361.severity = warning
# CA5362: Potential reference cycle in deserialized object graph
dotnet_diagnostic.CA5362.severity = warning
# CA5363: Do not disable request validation
dotnet_diagnostic.CA5363.severity = warning
# CA5364: Do not use deprecated security protocols
dotnet_diagnostic.CA5364.severity = warning
# CA5365: Do Not Disable HTTP Header Checking
dotnet_diagnostic.CA5365.severity = warning
# CA5366: Use XmlReader For DataSet Read XML
dotnet_diagnostic.CA5366.severity = warning
# CA5367: Do Not Serialize Types With Pointer Fields
dotnet_diagnostic.CA5367.severity = warning
# CA5368: Set ViewStateUserKey For Classes Derived From Page
dotnet_diagnostic.CA5368.severity = warning
# CA5369: Use XmlReader for Deserialize
dotnet_diagnostic.CA5369.severity = warning
# CA5370: Use XmlReader for validating reader
dotnet_diagnostic.CA5370.severity = warning
# CA5371: Use XmlReader for schema read
dotnet_diagnostic.CA5371.severity = warning
# CA5372: Use XmlReader for XPathDocument
dotnet_diagnostic.CA5372.severity = warning
# CA5373: Do not use obsolete key derivation function
dotnet_diagnostic.CA5373.severity = warning
# CA5374: Do Not Use XslTransform
dotnet_diagnostic.CA5374.severity = warning
# CA5375: Do not use account shared access signature
dotnet_diagnostic.CA5375.severity = warning
# CA5376: Use SharedAccessProtocol HttpsOnly
dotnet_diagnostic.CA5376.severity = warning
# CA5377: Use container level access policy
dotnet_diagnostic.CA5377.severity = warning
# CA5378: Do not disable ServicePointManagerSecurityProtocols
dotnet_diagnostic.CA5378.severity = warning
# CA5379: Do not use weak key derivation function algorithm
dotnet_diagnostic.CA5379.severity = warning
# CA5380: Do not add certificates to root store
dotnet_diagnostic.CA5380.severity = warning
# CA5381: Ensure certificates are not added to root store
dotnet_diagnostic.CA5381.severity = warning
# CA5382: Use secure cookies in ASP.NET Core
dotnet_diagnostic.CA5382.severity = warning
# CA5383: Ensure use secure cookies in ASP.NET Core
dotnet_diagnostic.CA5383.severity = warning
# CA5384: Do not use digital signature algorithm (DSA)
dotnet_diagnostic.CA5384.severity = warning
# CA5385: Use Rivest–Shamir–Adleman (RSA) algorithm with sufficient key size
dotnet_diagnostic.CA5385.severity = warning
# CA5386: Avoid hardcoding SecurityProtocolType value
dotnet_diagnostic.CA5386.severity = warning
# CA5387: Do not use weak key derivation function with insufficient iteration count
dotnet_diagnostic.CA5387.severity = warning
# CA5388: Ensure sufficient iteration count when using weak key derivation function
dotnet_diagnostic.CA5388.severity = warning
# CA5389: Do not add archive item's path to the target file system path
dotnet_diagnostic.CA5389.severity = warning
# CA5390: Do not hard-code encryption key
dotnet_diagnostic.CA5390.severity = warning
# CA5391: Use antiforgery tokens in ASP.NET Core MVC controllers
dotnet_diagnostic.CA5391.severity = warning
# CA5392: Use DefaultDllImportSearchPaths attribute for P/Invokes
dotnet_diagnostic.CA5392.severity = warning
# CA5393: Do not use unsafe DllImportSearchPath value
dotnet_diagnostic.CA5393.severity = warning
# CA5394: Do not use insecure randomness
dotnet_diagnostic.CA5394.severity = warning
# CA5395: Miss HttpVerb attribute for action methods
dotnet_diagnostic.CA5395.severity = warning
# CA5396: Set HttpOnly to true for HttpCookie
dotnet_diagnostic.CA5396.severity = warning
# CA5397: Do not use deprecated SslProtocols values
dotnet_diagnostic.CA5397.severity = warning
# CA5398: Avoid hardcoded SslProtocols values
dotnet_diagnostic.CA5398.severity = warning
# CA5399: Definitely disable HttpClient certificate revocation list check
dotnet_diagnostic.CA5399.severity = warning
# CA5400: Ensure HttpClient certificate revocation list check is not disabled
dotnet_diagnostic.CA5400.severity = warning
# CA5401: Do not use CreateEncryptor with non-default IV
dotnet_diagnostic.CA5401.severity = warning
# CA5402: Use CreateEncryptor with the default IV
dotnet_diagnostic.CA5402.severity = warning
# CA5403: Do not hard-code certificate
dotnet_diagnostic.CA5403.severity = warning
# CA5404: Do not disable token validation checks
dotnet_diagnostic.CA5404.severity = warning
# CA5405: Do not always skip token validation in delegates
dotnet_diagnostic.CA5405.severity = warning
# IL3000: Avoid accessing Assembly file path when publishing as a single file
dotnet_diagnostic.IL3000.severity = warning
# IL3001: Avoid accessing Assembly file path when publishing as a single-file
dotnet_diagnostic.IL3001.severity = warning
# IL3002: Avoid calling members annotated with 'RequiresAssemblyFilesAttribute' when publishing as a single file
dotnet_diagnostic.IL3002.severity = warning
# IL3003: 'RequiresAssemblyFilesAttribute' annotations must match across all interface implementations or overrides.
dotnet_diagnostic.IL3003.severity = warning
[*]
max_line_length = 160
# https://editorconfig.org/#supported-properties
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.cs]
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/
# IDE0001 Simplify name
dotnet_diagnostic.IDE0001.severity = suggestion
# IDE0002 Simplify member access
dotnet_diagnostic.IDE0002.severity = suggestion
# IDE0003 Remove this or Me qualification
# IDE0009 Add this or Me qualification
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion
# IDE0004 Remove unnecessary cast
dotnet_diagnostic.IDE0004.severity = suggestion
# IDE0005 Remove unnecessary using directives
dotnet_diagnostic.IDE0005.severity = suggestion
# IDE0007 Use var instead of explicit type
# IDE0008 Use explicit type instead of var
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = true:suggestion
# IDE0010 Add missing cases to switch statement
dotnet_diagnostic.IDE0010.severity = suggestion
# IDE0011 Add braces
csharp_prefer_braces = false:suggestion
# IDE0016 Use throw expression
csharp_style_throw_expression = true:suggestion
# IDE0017 Use object initializers
dotnet_style_object_initializer = true:suggestion
# IDE0018 Inline variable declaration
csharp_style_inlined_variable_declaration = true:suggestion
# IDE0019 Use pattern matching to avoid as followed by a null check
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# IDE0020 Use pattern matching to avoid is check followed by a cast (with variable)
# IDE0038 Use pattern matching to avoid is check followed by a cast (without variable)
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
# IDE0021 Use expression body for constructors
csharp_style_expression_bodied_constructors = true:suggestion
# IDE0022 Use expression body for methods
csharp_style_expression_bodied_methods = true:suggestion
# IDE0023 Use expression body for conversion operators
# IDE0024 Use expression body for operators
csharp_style_expression_bodied_operators = true:suggestion
# IDE0025 Use expression body for properties
csharp_style_expression_bodied_properties = true:suggestion
# IDE0026 Use expression body for indexers
csharp_style_expression_bodied_indexers = true:suggestion
# IDE0027 Use expression body for accessors
csharp_style_expression_bodied_accessors = true:suggestion
# IDE0028 Use collection initializers
dotnet_style_collection_initializer = true:suggestion
# IDE0029 Null check can be simplified
# IDE0030 Null check can be simplified
# IDE0270 Null check can be simplified
dotnet_style_coalesce_expression = true:suggestion
# IDE0031 Use null propagation
dotnet_style_null_propagation = true:suggestion
# IDE0032 Use auto property
dotnet_style_prefer_auto_properties = true:suggestion
# IDE0033 Use explicitly provided tuple name
dotnet_style_explicit_tuple_names = true:suggestion
# IDE0034 Simplify default expression
csharp_prefer_simple_default_expression = true:suggestion
# IDE0035 Remove unreachable code
dotnet_diagnostic.IDE0035.severity = suggestion
# IDE0036 Order modifiers
csharp_preferred_modifier_order = public, private, protected, internal, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, volatile, async:suggestion
# IDE0037 Use inferred member name
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
# IDE0039 Use local function instead of lambda
csharp_style_pattern_local_over_anonymous_function = true:suggestion
# IDE0040 Add accessibility modifiers
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
# IDE0041 Use is null check
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
# IDE0042 Deconstruct variable declaration
csharp_style_deconstructed_variable_declaration = true:suggestion
# IDE0044 Add readonly modifier
dotnet_style_readonly_field = true:suggestion
# IDE0045 Use conditional expression for assignment
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
# IDE0046 Use conditional expression for return
dotnet_style_prefer_conditional_expression_over_return = true:suggestion
# IDE0047 Remove unnecessary parentheses
# IDE0048 Add parentheses for clarity
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:suggestion
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
# IDE0049 Use language keywords instead of framework type names for type references
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# IDE0050 Convert anonymous type to tuple
dotnet_diagnostic.IDE0050.severity = suggestion
# IDE0051 Remove unused private member
dotnet_diagnostic.IDE0051.severity = suggestion
# IDE0052 Remove unread private member
dotnet_diagnostic.IDE0052.severity = suggestion
# IDE0053 Use expression body for lambdas
csharp_style_expression_bodied_lambdas = true:suggestion
# IDE0054 Use compound assignment
# IDE0074 Use coalesce compound assignment
dotnet_style_prefer_compound_assignment = true:suggestion
# IDE0056 Use index operator
csharp_style_prefer_index_operator = true:suggestion
# IDE0057 Use range operator
csharp_style_prefer_range_operator = true:suggestion
# IDE0058 Remove unused expression value
csharp_style_unused_value_expression_statement_preference = discard_variable:silent
# IDE0059 Remove unnecessary value assignment
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
# IDE0060 Remove unused parameter
dotnet_code_quality_unused_parameters = all:suggestion
# IDE0061 Use expression body for local functions
csharp_style_expression_bodied_local_functions = true:suggestion
# IDE0062 Make local function static
csharp_prefer_static_local_function = true:suggestion
# IDE0063 Use simple using statement
csharp_prefer_simple_using_statement = true:suggestion
# IDE0064 Make struct fields writable
dotnet_diagnostic.IDE0064.severity = suggestion
# IDE0065 using directive placement
csharp_using_directive_placement = outside_namespace:suggestion
# IDE0066 Use switch expression
csharp_style_prefer_switch_expression = true:suggestion
# IDE0070 Use 'System.HashCode.Combine'
dotnet_diagnostic.IDE0070.severity = suggestion
# IDE0071 Simplify interpolation
dotnet_style_prefer_simplified_interpolation = true:suggestion
# IDE0072 Add missing cases to switch expression
dotnet_diagnostic.IDE0072.severity = suggestion
# IDE0073 Require file header
dotnet_diagnostic.IDE0073.severity = none
# IDE0075 Simplify conditional expression
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
# IDE0076 Remove invalid global 'SuppressMessageAttribute'
dotnet_diagnostic.IDE0076.severity = suggestion
# IDE0077 Avoid legacy format target in global 'SuppressMessageAttribute'
dotnet_diagnostic.IDE0077.severity = suggestion
# IDE0078 Use pattern matching
csharp_style_prefer_pattern_matching = true:suggestion
# IDE0079 Remove unnecessary suppression
dotnet_remove_unnecessary_suppression_exclusions = true:suggestion
# IDE0080 Remove unnecessary suppression operator
dotnet_diagnostic.IDE0080.severity = suggestion
# IDE0082 Convert typeof to nameof
dotnet_diagnostic.IDE0082.severity = suggestion
# IDE0083 Use pattern matching (not operator)
csharp_style_prefer_not_pattern = true:suggestion
# IDE0090 Simplify new expression
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
# IDE0100 Remove unnecessary equality operator
dotnet_diagnostic.IDE0100.severity = suggestion
# IDE0110 Remove unnecessary discard
dotnet_diagnostic.IDE0110.severity = suggestion
# IDE0120 Simplify LINQ expression
dotnet_diagnostic.IDE0120.severity = suggestion
# IDE0130 Namespace does not match folder structure
dotnet_style_namespace_match_folder = true:suggestion
# IDE0150 Prefer 'null' check over type check
csharp_style_prefer_null_check_over_type_check = true:warning
# IDE0160 Namespace declaration preferences
# IDE0161 Namespace declaration preferences
csharp_style_namespace_declarations = file_scoped:warning
# IDE0170 Simplify property pattern
csharp_style_prefer_extended_property_pattern = true:warning
# IDE0180 Use tuple to swap values
csharp_style_prefer_tuple_swap = true:suggestion
# IDE0200 Remove unnecessary lambda expression
csharp_style_prefer_method_group_conversion = true:warning
# IDE0210 Convert to top-level statements
# IDE0211 Convert to 'Program.Main' style program
csharp_style_prefer_top_level_statements = true:suggestion
# IDE0220 Add explicit cast in foreach loop
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_type:suggestion
# IDE0230 Use UTF-8 string literal
csharp_style_prefer_utf8_string_literals = true:suggestion
# IDE0240 Nullable directive is redundant
dotnet_diagnostic.IDE0240.severity = warning
# IDE0241 Nullable directive is unnecessary
dotnet_diagnostic.IDE0241.severity = warning
# IDE0250 Struct can be made 'readonly'
csharp_style_prefer_readonly_struct = true:warning
# IDE0251 Member can be made 'readonly'
csharp_style_prefer_readonly_struct_member = true:warning
# IDE0260 Use pattern matching
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
# IDE0280 Use 'nameof'
dotnet_diagnostic.IDE0280.severity = suggestion
# IDE0290 Use primary constructor
csharp_style_prefer_primary_constructors = true:suggestion
# IDE0300 Use collection expression for array
# IDE0301 Use collection expression for empty
# IDE0302 Use collection expression for stackalloc
# IDE0303 Use collection expression for Create()
# IDE0304 Use collection expression for builder
# IDE0305 Use collection expression for fluent
dotnet_style_prefer_collection_expression = true:suggestion
# IDE1005 Use conditional delegate call
csharp_style_conditional_delegate_call = true:suggestion
# https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/formatting-rules
# IDE0055 Formatting rule
dotnet_sort_system_directives_first = false
dotnet_separate_import_directive_groups = false
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = false
csharp_new_line_between_query_expression_clauses = true
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = one_less_than_current
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents_when_block = false
csharp_space_after_cast = true
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_parentheses = false # false (or any other value) Never add spaces between parentheses
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = ignore
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_after_comma = true
csharp_space_before_comma = false
csharp_space_after_dot = false
csharp_space_before_dot = false
csharp_space_after_semicolon_in_for_statement = true
csharp_space_before_semicolon_in_for_statement = false
csharp_space_around_declaration_statements = false
csharp_space_before_open_square_brackets = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_square_brackets = false
csharp_preserve_single_line_statements = false
csharp_preserve_single_line_blocks = true
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-naming-conventions
# No baseline naming conventions.
# https://docs.microsoft.com/en-us/visualstudio/code-quality/code-analysis-warnings-for-managed-code-by-checkid
# CA1000: Do not declare static members on generic types
dotnet_diagnostic.CA1000.severity = warning
# CA1001: Types that own disposable fields should be disposable
dotnet_diagnostic.CA1001.severity = warning
# CA1002: Do not expose generic lists
dotnet_diagnostic.CA1002.severity = warning
# CA1003: Use generic event handler instances
dotnet_diagnostic.CA1003.severity = warning
# CA1005: Avoid excessive parameters on generic types
dotnet_diagnostic.CA1005.severity = warning
# CA1008: Enums should have zero value
dotnet_diagnostic.CA1008.severity = warning
# CA1010: Collections should implement generic interface
dotnet_diagnostic.CA1010.severity = warning
# CA1012: Abstract types should not have public constructors
dotnet_diagnostic.CA1012.severity = warning
# CA1014: Mark assemblies with CLSCompliantAttribute
dotnet_diagnostic.CA1014.severity = warning
# CA1016: Mark assemblies with AssemblyVersionAttribute
dotnet_diagnostic.CA1016.severity = warning
# CA1017: Mark assemblies with ComVisibleAttribute
dotnet_diagnostic.CA1017.severity = warning
# CA1018: Mark attributes with AttributeUsageAttribute
dotnet_diagnostic.CA1018.severity = warning
# CA1019: Define accessors for attribute arguments
dotnet_diagnostic.CA1019.severity = warning
# CA1021: Avoid out parameters
dotnet_diagnostic.CA1021.severity = warning
# CA1024: Use properties where appropriate
dotnet_diagnostic.CA1024.severity = warning
# CA1027: Mark enums with FlagsAttribute
dotnet_diagnostic.CA1027.severity = warning
# CA1028: Enum storage should be Int32
dotnet_diagnostic.CA1028.severity = warning
# CA1030: Use events where appropriate
dotnet_diagnostic.CA1030.severity = warning
# CA1031: Do not catch general exception types
dotnet_diagnostic.CA1031.severity = warning
# CA1032: Implement standard exception constructors
dotnet_diagnostic.CA1032.severity = warning
# CA1033: Interface methods should be callable by child types
dotnet_diagnostic.CA1033.severity = warning
# CA1034: Nested types should not be visible
dotnet_diagnostic.CA1034.severity = warning
# CA1036: Override methods on comparable types
dotnet_diagnostic.CA1036.severity = warning
# CA1040: Avoid empty interfaces
dotnet_diagnostic.CA1040.severity = warning
# CA1041: Provide ObsoleteAttribute message
dotnet_diagnostic.CA1041.severity = warning
# CA1043: Use integral or string argument for indexers
dotnet_diagnostic.CA1043.severity = warning
# CA1044: Properties should not be write only
dotnet_diagnostic.CA1044.severity = warning
# CA1045: Do not pass types by reference
dotnet_diagnostic.CA1045.severity = warning
# CA1046: Do not overload operator equals on reference types
dotnet_diagnostic.CA1046.severity = warning
# CA1047: Do not declare protected members in sealed types
dotnet_diagnostic.CA1047.severity = warning
# CA1050: Declare types in namespaces
dotnet_diagnostic.CA1050.severity = warning
# CA1051: Do not declare visible instance fields
dotnet_diagnostic.CA1051.severity = warning
# CA1052: Static holder types should be sealed
dotnet_diagnostic.CA1052.severity = warning
# CA1053: Static holder types should not have constructors
dotnet_diagnostic.CA1053.severity = warning
# CA1054: URI parameters should not be strings
dotnet_diagnostic.CA1054.severity = warning
# CA1055: URI return values should not be strings
dotnet_diagnostic.CA1055.severity = warning
# CA1056: URI properties should not be strings
dotnet_diagnostic.CA1056.severity = warning
# CA1058: Types should not extend certain base types
dotnet_diagnostic.CA1058.severity = warning
# CA1060: Move P/Invokes to NativeMethods class
dotnet_diagnostic.CA1060.severity = warning
# CA1061: Do not hide base class methods
dotnet_diagnostic.CA1061.severity = warning
# CA1062: Validate arguments of public methods
dotnet_diagnostic.CA1062.severity = warning
# CA1063: Implement IDisposable correctly
dotnet_diagnostic.CA1063.severity = warning
# CA1064: Exceptions should be public
dotnet_diagnostic.CA1064.severity = warning
# CA1065: Do not raise exceptions in unexpected locations
dotnet_diagnostic.CA1065.severity = warning
# CA1066: Implement IEquatable when overriding Equals
dotnet_diagnostic.CA1066.severity = warning
# CA1067: Override Equals when implementing IEquatable
dotnet_diagnostic.CA1067.severity = warning
# CA1068: CancellationToken parameters must come last
dotnet_diagnostic.CA1068.severity = warning
# CA1069: Enums should not have duplicate values
dotnet_diagnostic.CA1069.severity = warning
# CA1070: Do not declare event fields as virtual
dotnet_diagnostic.CA1070.severity = warning
# CA1200: Avoid using cref tags with a prefix
dotnet_diagnostic.CA1200.severity = warning
# CA1303: Do not pass literals as localized parameters
dotnet_diagnostic.CA1303.severity = warning
# CA1304: Specify CultureInfo
dotnet_diagnostic.CA1304.severity = warning
# CA1305: Specify IFormatProvider
dotnet_diagnostic.CA1305.severity = warning
# CA1307: Specify StringComparison for clarity
dotnet_diagnostic.CA1307.severity = warning
# CA1308: Normalize strings to uppercase
dotnet_diagnostic.CA1308.severity = warning
# CA1309: Use ordinal StringComparison
dotnet_diagnostic.CA1309.severity = warning
# CA1310: Specify StringComparison for correctness
dotnet_diagnostic.CA1310.severity = warning
# CA1311: Specify a culture or use an invariant version
dotnet_diagnostic.CA1311.severity = warning
# CA1401: P/Invokes should not be visible
dotnet_diagnostic.CA1401.severity = warning
# CA1416: Validate platform compatibility
dotnet_diagnostic.CA1416.severity = warning
# CA1417: Do not use OutAttribute on string parameters for P/Invokes
dotnet_diagnostic.CA1417.severity = warning
# CA1418: Use valid platform string
dotnet_diagnostic.CA1418.severity = warning
# CA1419: Provide a parameterless constructor that is as visible as the containing type for concrete types derived from 'System.Runtime.InteropServices.SafeHandle'
dotnet_diagnostic.CA1419.severity = warning
# CA1420: Property, type, or attribute requires runtime marshalling
dotnet_diagnostic.CA1420.severity = warning
# CA1421: Method uses runtime marshalling when DisableRuntimeMarshallingAttribute is applied
dotnet_diagnostic.CA1421.severity = warning
# CA1422: Validate platform compatibility
dotnet_diagnostic.CA1422.severity = warning
# CA1501: Avoid excessive inheritance
dotnet_diagnostic.CA1501.severity = warning
# CA1502: Avoid excessive complexity
dotnet_diagnostic.CA1502.severity = warning
# CA1505: Avoid unmaintainable code
dotnet_diagnostic.CA1505.severity = warning
# CA1506: Avoid excessive class coupling
dotnet_diagnostic.CA1506.severity = warning
# CA1507: Use nameof in place of string
dotnet_diagnostic.CA1507.severity = warning
# CA1508: Avoid dead conditional code
dotnet_diagnostic.CA1508.severity = warning
# CA1509: Invalid entry in code metrics configuration file
dotnet_diagnostic.CA1509.severity = warning
# CA1510: Use ArgumentNullException throw helper
dotnet_diagnostic.CA1510.severity = warning
# CA1511: Use ArgumentException throw helper
dotnet_diagnostic.CA1511.severity = warning
# CA1512: Use ArgumentOutOfRangeException throw helper
dotnet_diagnostic.CA1512.severity = warning
# CA1513: Use ObjectDisposedException throw helper
dotnet_diagnostic.CA1513.severity = warning
# CA1514: Avoid redundant length argument
dotnet_diagnostic.CA1514.severity = warning
# CA1515: Consider making public types internal
dotnet_diagnostic.CA1515.severity = warning
# CA1700: Do not name enum values 'Reserved'
dotnet_diagnostic.CA1700.severity = warning
# CA1707: Identifiers should not contain underscores
dotnet_diagnostic.CA1707.severity = warning
# CA1708: Identifiers should differ by more than case
dotnet_diagnostic.CA1708.severity = warning
# CA1710: Identifiers should have correct suffix
dotnet_diagnostic.CA1710.severity = warning
# CA1711: Identifiers should not have incorrect suffix
dotnet_diagnostic.CA1711.severity = warning
# CA1712: Do not prefix enum values with type name
dotnet_diagnostic.CA1712.severity = warning
# CA1713: Events should not have before or after prefix
dotnet_diagnostic.CA1713.severity = warning
# CA1714: Flags enums should have plural names
dotnet_diagnostic.CA1714.severity = warning
# CA1715: Identifiers should have correct prefix
dotnet_diagnostic.CA1715.severity = warning
# CA1716: Identifiers should not match keywords
dotnet_diagnostic.CA1716.severity = warning
# CA1717: Only FlagsAttribute enums should have plural names
dotnet_diagnostic.CA1717.severity = warning
# CA1720: Identifiers should not contain type names
dotnet_diagnostic.CA1720.severity = warning
# CA1721: Property names should not match get methods
dotnet_diagnostic.CA1721.severity = warning
# CA1724: Type Names Should Not Match Namespaces
dotnet_diagnostic.CA1724.severity = warning
# CA1725: Parameter names should match base declaration
dotnet_diagnostic.CA1725.severity = warning
# CA1727: Use PascalCase for named placeholders
dotnet_diagnostic.CA1727.severity = warning
# CA1801: Review unused parameters
dotnet_diagnostic.CA1801.severity = warning
# CA1802: Use Literals Where Appropriate
dotnet_diagnostic.CA1802.severity = warning
# CA1805: Do not initialize unnecessarily
dotnet_diagnostic.CA1805.severity = warning
# CA1806: Do not ignore method results
dotnet_diagnostic.CA1806.severity = warning
# CA1810: Initialize reference type static fields inline
dotnet_diagnostic.CA1810.severity = warning
# CA1812: Avoid uninstantiated internal classes
dotnet_diagnostic.CA1812.severity = warning
# CA1813: Avoid unsealed attributes
dotnet_diagnostic.CA1813.severity = warning
# CA1814: Prefer jagged arrays over multidimensional
dotnet_diagnostic.CA1814.severity = warning
# CA1815: Override equals and operator equals on value types
dotnet_diagnostic.CA1815.severity = warning
# CA1816: Call GC.SuppressFinalize correctly
dotnet_diagnostic.CA1816.severity = warning
# CA1819: Properties should not return arrays
dotnet_diagnostic.CA1819.severity = warning
# CA1820: Test for empty strings using string length
dotnet_diagnostic.CA1820.severity = warning
# CA1821: Remove empty finalizers
dotnet_diagnostic.CA1821.severity = warning
# CA1822: Mark members as static
dotnet_diagnostic.CA1822.severity = warning
# CA1823: Avoid unused private fields
dotnet_diagnostic.CA1823.severity = warning
# CA1824: Mark assemblies with NeutralResourcesLanguageAttribute
dotnet_diagnostic.CA1824.severity = warning
# CA1825: Avoid zero-length array allocations
dotnet_diagnostic.CA1825.severity = warning
# CA1826: Use property instead of Linq Enumerable method
dotnet_diagnostic.CA1826.severity = warning
# CA1827: Do not use Count/LongCount when Any can be used
dotnet_diagnostic.CA1827.severity = warning
# CA1828: Do not use CountAsync/LongCountAsync when AnyAsync can be used
dotnet_diagnostic.CA1828.severity = warning
# CA1829: Use Length/Count property instead of Enumerable.Count method
dotnet_diagnostic.CA1829.severity = warning
# CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder
dotnet_diagnostic.CA1830.severity = warning
# CA1831: Use AsSpan instead of Range-based indexers for string when appropriate
dotnet_diagnostic.CA1831.severity = warning
# CA1832: Use AsSpan or AsMemory instead of Range-based indexers for getting ReadOnlySpan or ReadOnlyMemory portion of an array
dotnet_diagnostic.CA1832.severity = warning
# CA1833: Use AsSpan or AsMemory instead of Range-based indexers for getting Span or Memory portion of an array
dotnet_diagnostic.CA1833.severity = warning
# CA1834: Use StringBuilder.Append(char) for single character strings
dotnet_diagnostic.CA1834.severity = warning
# CA1835: Prefer the 'Memory'-based overloads for 'ReadAsync' and 'WriteAsync'
dotnet_diagnostic.CA1835.severity = warning
# CA1836: Prefer IsEmpty over Count when available
dotnet_diagnostic.CA1836.severity = warning
# CA1837: Use Environment.ProcessId instead of Process.GetCurrentProcess().Id
dotnet_diagnostic.CA1837.severity = warning
# CA1838: Avoid StringBuilder parameters for P/Invokes
dotnet_diagnostic.CA1838.severity = warning
# CA1839: Use Environment.ProcessPath instead of Process.GetCurrentProcess().MainModule.FileName
dotnet_diagnostic.CA1839.severity = warning
# CA1840: Use Environment.CurrentManagedThreadId instead of Thread.CurrentThread.ManagedThreadId
dotnet_diagnostic.CA1840.severity = warning
# CA1841: Prefer Dictionary Contains methods
dotnet_diagnostic.CA1841.severity = warning
# CA1842: Do not use 'WhenAll' with a single task
dotnet_diagnostic.CA1842.severity = warning
# CA1843: Do not use 'WaitAll' with a single task
dotnet_diagnostic.CA1843.severity = warning
# CA1844: Provide memory-based overrides of async methods when subclassing 'Stream'
dotnet_diagnostic.CA1844.severity = warning
# CA1845: Use span-based 'string.Concat'
dotnet_diagnostic.CA1845.severity = warning
# CA1846: Prefer AsSpan over Substring
dotnet_diagnostic.CA1846.severity = warning
# CA1847: Use char literal for a single character lookup
dotnet_diagnostic.CA1847.severity = warning
# CA1848: Use the LoggerMessage delegates
dotnet_diagnostic.CA1848.severity = warning
# CA1849: Call async methods when in an async method
dotnet_diagnostic.CA1849.severity = warning
# CA1850: Prefer static HashData method over ComputeHash
dotnet_diagnostic.CA1850.severity = warning
# CA1851: Possible multiple enumerations of IEnumerable collection
dotnet_diagnostic.CA1851.severity = warning
# CA1852: Seal internal types
dotnet_diagnostic.CA1852.severity = warning
# CA1853: Unnecessary call to 'Dictionary.ContainsKey(key)'
dotnet_diagnostic.CA1853.severity = warning
# CA1854: Prefer the 'IDictionary.TryGetValue(TKey, out TValue)' method
dotnet_diagnostic.CA1854.severity = warning
# CA1855: Use Span<T>.Clear() instead of Span<T>.Fill()
dotnet_diagnostic.CA1855.severity = warning
# CA1856: Incorrect usage of ConstantExpected attribute
dotnet_diagnostic.CA1856.severity = warning
# CA1857: The parameter expects a constant for optimal performance
dotnet_diagnostic.CA1857.severity = warning
# CA1858: Use StartsWith instead of IndexOf
dotnet_diagnostic.CA1858.severity = warning
# CA1859: Use concrete types when possible for improved performance
dotnet_diagnostic.CA1859.severity = warning
# CA1860: Avoid using 'Enumerable.Any()' extension method
dotnet_diagnostic.CA1860.severity = warning
# CA1861: Avoid constant arrays as arguments
dotnet_diagnostic.CA1861.severity = warning
# CA1862: Use the 'StringComparison' method overloads to perform case-insensitive string comparisons
dotnet_diagnostic.CA1862.severity = warning
# CA1863: Use 'CompositeFormat'
dotnet_diagnostic.CA1863.severity = warning
# CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method
dotnet_diagnostic.CA1864.severity = warning
# CA1865:
dotnet_diagnostic.CA1865.severity = warning
# CA1866:
dotnet_diagnostic.CA1866.severity = warning
# CA1867:
dotnet_diagnostic.CA1867.severity = warning
# CA1868: Unnecessary call to 'Contains' for sets
dotnet_diagnostic.CA1868.severity = warning
# CA1869: Cache and reuse 'JsonSerializerOptions' instances
dotnet_diagnostic.CA1869.severity = warning
# CA1870: Use a cached 'SearchValues' instance
dotnet_diagnostic.CA1870.severity = warning
# CA2000: Dispose objects before losing scope
dotnet_diagnostic.CA2000.severity = warning
# CA2002: Do not lock on objects with weak identity
dotnet_diagnostic.CA2002.severity = warning
# CA2007: Do not directly await a Task
dotnet_diagnostic.CA2007.severity = warning
# CA2008: Do not create tasks without passing a TaskScheduler
dotnet_diagnostic.CA2008.severity = warning
# CA2009: Do not call ToImmutableCollection on an ImmutableCollection value
dotnet_diagnostic.CA2009.severity = warning
# CA2011: Do not assign property within its setter
dotnet_diagnostic.CA2011.severity = warning
# CA2012: Use ValueTasks correctly
dotnet_diagnostic.CA2012.severity = warning
# CA2013: Do not use ReferenceEquals with value types
dotnet_diagnostic.CA2013.severity = warning
# CA2014: Do not use stackalloc in loops.
dotnet_diagnostic.CA2014.severity = warning
# CA2015: Do not define finalizers for types derived from MemoryManager<T>
dotnet_diagnostic.CA2015.severity = warning
# CA2016: Forward the CancellationToken parameter to methods that take one
dotnet_diagnostic.CA2016.severity = warning
# CA2017: Parameter count mismatch
dotnet_diagnostic.CA2017.severity = warning
# CA2018: The count argument to Buffer.BlockCopy should specify the number of bytes to copy
dotnet_diagnostic.CA2018.severity = warning
# CA2019: ThreadStatic fields should not use inline initialization
dotnet_diagnostic.CA2019.severity = warning
# CA2020: Prevent behavioral change caused by built-in operators of IntPtr/UIntPtr
dotnet_diagnostic.CA2020.severity = warning
# CA2021: Don't call Enumerable.Cast<T> or Enumerable.OfType<T> with incompatible types
dotnet_diagnostic.CA2021.severity = warning
# CA2100: Review SQL queries for security vulnerabilities
dotnet_diagnostic.CA2100.severity = warning
# CA2101: Specify marshalling for P/Invoke string arguments
dotnet_diagnostic.CA2101.severity = warning
# CA2109: Review visible event handlers
dotnet_diagnostic.CA2109.severity = warning
# CA2119: Seal methods that satisfy private interfaces
dotnet_diagnostic.CA2119.severity = warning
# CA2153: Avoid handling Corrupted State Exceptions
dotnet_diagnostic.CA2153.severity = warning
# CA2200: Rethrow to preserve stack details
dotnet_diagnostic.CA2200.severity = warning
# CA2201: Do not raise reserved exception types
dotnet_diagnostic.CA2201.severity = warning
# CA2207: Initialize value type static fields inline
dotnet_diagnostic.CA2207.severity = warning
# CA2208: Instantiate argument exceptions correctly
dotnet_diagnostic.CA2208.severity = warning
# CA2211: Non-constant fields should not be visible
dotnet_diagnostic.CA2211.severity = warning
# CA2213: Disposable fields should be disposed
dotnet_diagnostic.CA2213.severity = warning
# CA2214: Do not call overridable methods in constructors
dotnet_diagnostic.CA2214.severity = warning
# CA2215: Dispose methods should call base class dispose
dotnet_diagnostic.CA2215.severity = warning
# CA2216: Disposable types should declare finalizer
dotnet_diagnostic.CA2216.severity = warning
# CA2217: Do not mark enums with FlagsAttribute
dotnet_diagnostic.CA2217.severity = warning
# CA2218: Override GetHashCode on overriding Equals
dotnet_diagnostic.CA2218.severity = warning
# CA2219: Do not raise exceptions in exception clauses
dotnet_diagnostic.CA2219.severity = warning
# CA2224: Override equals on overloading operator equals
dotnet_diagnostic.CA2224.severity = warning
# CA2225: Operator overloads have named alternates
dotnet_diagnostic.CA2225.severity = warning
# CA2226: Operators should have symmetrical overloads
dotnet_diagnostic.CA2226.severity = warning
# CA2227: Collection properties should be read only
dotnet_diagnostic.CA2227.severity = warning
# CA2229: Implement serialization constructors
dotnet_diagnostic.CA2229.severity = warning
# CA2231: Overload operator equals on overriding ValueType.Equals
dotnet_diagnostic.CA2231.severity = warning
# CA2234: Pass System.Uri objects instead of strings
dotnet_diagnostic.CA2234.severity = warning
# CA2235: Mark all non-serializable fields
dotnet_diagnostic.CA2235.severity = warning
# CA2237: Mark ISerializable types with SerializableAttribute
dotnet_diagnostic.CA2237.severity = warning
# CA2241: Provide correct arguments to formatting methods
dotnet_diagnostic.CA2241.severity = warning
# CA2242: Test for NaN correctly
dotnet_diagnostic.CA2242.severity = warning
# CA2243: Attribute string literals should parse correctly
dotnet_diagnostic.CA2243.severity = warning
# CA2244: Do not duplicate indexed element initializations
dotnet_diagnostic.CA2244.severity = warning
# CA2245: Do not assign a property to itself
dotnet_diagnostic.CA2245.severity = warning
# CA2246: Do not assign a symbol and its member in the same statement
dotnet_diagnostic.CA2246.severity = warning
# CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum.
dotnet_diagnostic.CA2247.severity = warning
# CA2248: Provide correct enum argument to Enum.HasFlag
dotnet_diagnostic.CA2248.severity = warning
# CA2249: Consider using String.Contains instead of String.IndexOf
dotnet_diagnostic.CA2249.severity = warning
# CA2250: Use ThrowIfCancellationRequested
dotnet_diagnostic.CA2250.severity = warning
# CA2251: Use String.Equals over String.Compare
dotnet_diagnostic.CA2251.severity = warning
# CA2252: Opt in to preview features
dotnet_diagnostic.CA2252.severity = warning
# CA2253: Named placeholders should not be numeric values
dotnet_diagnostic.CA2253.severity = warning
# CA2254: Template should be a static expression
dotnet_diagnostic.CA2254.severity = warning
# CA2255: The ModuleInitializer attribute should not be used in libraries
dotnet_diagnostic.CA2255.severity = warning
# CA2256: All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface
dotnet_diagnostic.CA2256.severity = warning
# CA2257: Members defined on an interface with 'DynamicInterfaceCastableImplementationAttribute' should be 'static'
dotnet_diagnostic.CA2257.severity = warning
# CA2258: Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported
dotnet_diagnostic.CA2258.severity = warning
# CA2259: Ensure ThreadStatic is only used with static fields
dotnet_diagnostic.CA2259.severity = warning
# CA2260: Implement generic math interfaces correctly
dotnet_diagnostic.CA2260.severity = warning
# CA2261: Do not use ConfigureAwaitOptions.SuppressThrowing with Task<TResult>
dotnet_diagnostic.CA2261.severity = warning
# CA2300: Do not use insecure deserializer BinaryFormatter
dotnet_diagnostic.CA2300.severity = warning
# CA2301: Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder
dotnet_diagnostic.CA2301.severity = warning
# CA2302: Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize
dotnet_diagnostic.CA2302.severity = warning
# CA2305: Do not use insecure deserializer LosFormatter
dotnet_diagnostic.CA2305.severity = warning
# CA2310: Do not use insecure deserializer NetDataContractSerializer
dotnet_diagnostic.CA2310.severity = warning
# CA2311: Do not deserialize without first setting NetDataContractSerializer.Binder
dotnet_diagnostic.CA2311.severity = warning
# CA2312: Ensure NetDataContractSerializer.Binder is set before deserializing
dotnet_diagnostic.CA2312.severity = warning
# CA2315: Do not use insecure deserializer ObjectStateFormatter
dotnet_diagnostic.CA2315.severity = warning
# CA2321: Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver
dotnet_diagnostic.CA2321.severity = warning
# CA2322: Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing
dotnet_diagnostic.CA2322.severity = warning
# CA2326: Do not use TypeNameHandling values other than None
dotnet_diagnostic.CA2326.severity = warning
# CA2327: Do not use insecure JsonSerializerSettings
dotnet_diagnostic.CA2327.severity = warning
# CA2328: Ensure that JsonSerializerSettings are secure
dotnet_diagnostic.CA2328.severity = warning
# CA2329: Do not deserialize with JsonSerializer using an insecure configuration
dotnet_diagnostic.CA2329.severity = warning
# CA2330: Ensure that JsonSerializer has a secure configuration when deserializing
dotnet_diagnostic.CA2330.severity = warning
# CA2350: Ensure DataTable.ReadXml()'s input is trusted
dotnet_diagnostic.CA2350.severity = warning
# CA2351: Ensure DataSet.ReadXml()'s input is trusted
dotnet_diagnostic.CA2351.severity = warning
# CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks
dotnet_diagnostic.CA2352.severity = warning
# CA2353: Unsafe DataSet or DataTable in serializable type
dotnet_diagnostic.CA2353.severity = warning
# CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attack
dotnet_diagnostic.CA2354.severity = warning
# CA2355: Unsafe DataSet or DataTable in deserialized object graph
dotnet_diagnostic.CA2355.severity = warning
# CA2356: Unsafe DataSet or DataTable in web deserialized object graph
dotnet_diagnostic.CA2356.severity = warning
# CA2361: Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data
dotnet_diagnostic.CA2361.severity = warning
# CA2362: Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks
dotnet_diagnostic.CA2362.severity = warning
# CA3001: Review code for SQL injection vulnerabilities
dotnet_diagnostic.CA3001.severity = warning
# CA3002: Review code for XSS vulnerabilities
dotnet_diagnostic.CA3002.severity = warning
# CA3003: Review code for file path injection vulnerabilities
dotnet_diagnostic.CA3003.severity = warning
# CA3004: Review code for information disclosure vulnerabilities
dotnet_diagnostic.CA3004.severity = warning
# CA3005: Review code for LDAP injection vulnerabilities
dotnet_diagnostic.CA3005.severity = warning
# CA3006: Review code for process command injection vulnerabilities
dotnet_diagnostic.CA3006.severity = warning
# CA3007: Review code for open redirect vulnerabilities
dotnet_diagnostic.CA3007.severity = warning
# CA3008: Review code for XPath injection vulnerabilities
dotnet_diagnostic.CA3008.severity = warning
# CA3009: Review code for XML injection vulnerabilities
dotnet_diagnostic.CA3009.severity = warning
# CA3010: Review code for XAML injection vulnerabilities
dotnet_diagnostic.CA3010.severity = warning
# CA3011: Review code for DLL injection vulnerabilities
dotnet_diagnostic.CA3011.severity = warning
# CA3012: Review code for regex injection vulnerabilities
dotnet_diagnostic.CA3012.severity = warning
# CA3061: Do not add schema by URL
dotnet_diagnostic.CA3061.severity = warning
# CA3075: Insecure DTD Processing
dotnet_diagnostic.CA3075.severity = warning
# CA3076: Insecure XSLT Script Execution
dotnet_diagnostic.CA3076.severity = warning
# CA3077: Insecure Processing in API Design, XML Document and XML Text Reader
dotnet_diagnostic.CA3077.severity = warning
# CA3147: Mark verb handlers with ValidateAntiForgeryToken
dotnet_diagnostic.CA3147.severity = warning
# CA5350: Do Not Use Weak Cryptographic Algorithms
dotnet_diagnostic.CA5350.severity = warning
# CA5351: Do Not Use Broken Cryptographic Algorithms
dotnet_diagnostic.CA5351.severity = warning
# CA5358: Do Not Use Unsafe Cipher Modes
dotnet_diagnostic.CA5358.severity = warning
# CA5359: Do not disable certificate validation
dotnet_diagnostic.CA5359.severity = warning
# CA5360: Do not call dangerous methods in deserialization
dotnet_diagnostic.CA5360.severity = warning
# CA5361: Do not disable Schannel use of strong crypto
dotnet_diagnostic.CA5361.severity = warning
# CA5362: Potential reference cycle in deserialized object graph
dotnet_diagnostic.CA5362.severity = warning
# CA5363: Do not disable request validation
dotnet_diagnostic.CA5363.severity = warning
# CA5364: Do not use deprecated security protocols
dotnet_diagnostic.CA5364.severity = warning
# CA5365: Do Not Disable HTTP Header Checking
dotnet_diagnostic.CA5365.severity = warning
# CA5366: Use XmlReader For DataSet Read XML
dotnet_diagnostic.CA5366.severity = warning
# CA5367: Do Not Serialize Types With Pointer Fields
dotnet_diagnostic.CA5367.severity = warning
# CA5368: Set ViewStateUserKey For Classes Derived From Page
dotnet_diagnostic.CA5368.severity = warning
# CA5369: Use XmlReader for Deserialize
dotnet_diagnostic.CA5369.severity = warning
# CA5370: Use XmlReader for validating reader
dotnet_diagnostic.CA5370.severity = warning
# CA5371: Use XmlReader for schema read
dotnet_diagnostic.CA5371.severity = warning
# CA5372: Use XmlReader for XPathDocument
dotnet_diagnostic.CA5372.severity = warning
# CA5373: Do not use obsolete key derivation function
dotnet_diagnostic.CA5373.severity = warning
# CA5374: Do Not Use XslTransform
dotnet_diagnostic.CA5374.severity = warning
# CA5375: Do not use account shared access signature
dotnet_diagnostic.CA5375.severity = warning
# CA5376: Use SharedAccessProtocol HttpsOnly
dotnet_diagnostic.CA5376.severity = warning
# CA5377: Use container level access policy
dotnet_diagnostic.CA5377.severity = warning
# CA5378: Do not disable ServicePointManagerSecurityProtocols
dotnet_diagnostic.CA5378.severity = warning
# CA5379: Do not use weak key derivation function algorithm
dotnet_diagnostic.CA5379.severity = warning
# CA5380: Do not add certificates to root store
dotnet_diagnostic.CA5380.severity = warning
# CA5381: Ensure certificates are not added to root store
dotnet_diagnostic.CA5381.severity = warning
# CA5382: Use secure cookies in ASP.NET Core
dotnet_diagnostic.CA5382.severity = warning
# CA5383: Ensure use secure cookies in ASP.NET Core
dotnet_diagnostic.CA5383.severity = warning
# CA5384: Do not use digital signature algorithm (DSA)
dotnet_diagnostic.CA5384.severity = warning
# CA5385: Use Rivest–Shamir–Adleman (RSA) algorithm with sufficient key size
dotnet_diagnostic.CA5385.severity = warning
# CA5386: Avoid hardcoding SecurityProtocolType value
dotnet_diagnostic.CA5386.severity = warning
# CA5387: Do not use weak key derivation function with insufficient iteration count
dotnet_diagnostic.CA5387.severity = warning
# CA5388: Ensure sufficient iteration count when using weak key derivation function
dotnet_diagnostic.CA5388.severity = warning
# CA5389: Do not add archive item's path to the target file system path
dotnet_diagnostic.CA5389.severity = warning
# CA5390: Do not hard-code encryption key
dotnet_diagnostic.CA5390.severity = warning
# CA5391: Use antiforgery tokens in ASP.NET Core MVC controllers
dotnet_diagnostic.CA5391.severity = warning
# CA5392: Use DefaultDllImportSearchPaths attribute for P/Invokes
dotnet_diagnostic.CA5392.severity = warning
# CA5393: Do not use unsafe DllImportSearchPath value
dotnet_diagnostic.CA5393.severity = warning
# CA5394: Do not use insecure randomness
dotnet_diagnostic.CA5394.severity = warning
# CA5395: Miss HttpVerb attribute for action methods
dotnet_diagnostic.CA5395.severity = warning
# CA5396: Set HttpOnly to true for HttpCookie
dotnet_diagnostic.CA5396.severity = warning
# CA5397: Do not use deprecated SslProtocols values
dotnet_diagnostic.CA5397.severity = warning
# CA5398: Avoid hardcoded SslProtocols values
dotnet_diagnostic.CA5398.severity = warning
# CA5399: Definitely disable HttpClient certificate revocation list check
dotnet_diagnostic.CA5399.severity = warning
# CA5400: Ensure HttpClient certificate revocation list check is not disabled
dotnet_diagnostic.CA5400.severity = warning
# CA5401: Do not use CreateEncryptor with non-default IV
dotnet_diagnostic.CA5401.severity = warning
# CA5402: Use CreateEncryptor with the default IV
dotnet_diagnostic.CA5402.severity = warning
# CA5403: Do not hard-code certificate
dotnet_diagnostic.CA5403.severity = warning
# CA5404: Do not disable token validation checks
dotnet_diagnostic.CA5404.severity = warning
# CA5405: Do not always skip token validation in delegates
dotnet_diagnostic.CA5405.severity = warning
# IL3000: Avoid accessing Assembly file path when publishing as a single file
dotnet_diagnostic.IL3000.severity = warning
# IL3001: Avoid accessing Assembly file path when publishing as a single-file
dotnet_diagnostic.IL3001.severity = warning
# IL3002: Avoid calling members annotated with 'RequiresAssemblyFilesAttribute' when publishing as a single file
dotnet_diagnostic.IL3002.severity = warning
# IL3003: 'RequiresAssemblyFilesAttribute' annotations must match across all interface implementations or overrides.
dotnet_diagnostic.IL3003.severity = warning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment