# EditorConfig is awesome:http://EditorConfig.org # top-most EditorConfig file root = true # Don't use tabs for indentation. [*] indent_style = space # (Please don't specify an indent_size here; that has too many unintended consequences.) # Spell checker configuration spelling_exclusion_path = spelling.dic # Code files [*.{cs,csx,vb,vbx}] indent_size = 4 insert_final_newline = true charset = utf-8-bom [*.xaml] indent_size = 4 [*.ps1] indent_size = 2 # Xml project files [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] indent_size = 2 # Xml config files [*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] indent_size = 2 # JSON files [*.json] indent_size = 2 # Dotnet code style settings: [*.{cs,vb}] # Sort using and Import directives with System.* appearing first dotnet_sort_system_directives_first = true dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning # No blank line between System.* and Microsoft.* dotnet_separate_import_directive_groups = false # Suggest more modern language features when available dotnet_style_object_initializer = true:suggestion dotnet_style_collection_initializer = true:suggestion dotnet_style_coalesce_expression = true:error dotnet_style_null_propagation = true:error dotnet_style_explicit_tuple_names = true:suggestion dotnet_style_prefer_inferred_tuple_names = true:suggestion dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion dotnet_style_prefer_conditional_expression_over_return = false dotnet_style_prefer_conditional_expression_over_assignment = false dotnet_style_prefer_auto_properties = false # Avoid "this." and "Me." if not necessary dotnet_style_qualification_for_field = false:error dotnet_style_qualification_for_property = false:error dotnet_style_qualification_for_method = false:error dotnet_style_qualification_for_event = false:error # Use language keywords instead of framework type names for type references dotnet_style_predefined_type_for_locals_parameters_members = true:error dotnet_style_predefined_type_for_member_access = true:error # Prefer read-only on fields dotnet_style_readonly_field = true:warning # Naming Rules dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.symbols = interface_symbols dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.style = pascal_case_and_prefix_with_I_style dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.severity = warning dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.symbols = externally_visible_symbols dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.style = pascal_case_style dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.severity = warning dotnet_naming_rule.parameters_must_be_camel_cased.symbols = parameter_symbols dotnet_naming_rule.parameters_must_be_camel_cased.style = camel_case_style dotnet_naming_rule.parameters_must_be_camel_cased.severity = warning dotnet_naming_rule.constants_must_be_pascal_cased.symbols = constant_symbols dotnet_naming_rule.constants_must_be_pascal_cased.style = pascal_case_style dotnet_naming_rule.constants_must_be_pascal_cased.severity = warning dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.symbols = private_static_field_symbols dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.style = camel_case_and_prefix_with_s_underscore_style dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.severity = warning dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.symbols = private_field_symbols dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.style = camel_case_and_prefix_with_underscore_style dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.severity = warning # Symbols dotnet_naming_symbols.externally_visible_symbols.applicable_kinds = class,struct,enum,property,method,field,event,delegate dotnet_naming_symbols.externally_visible_symbols.applicable_accessibilities = public,internal,friend,protected,protected_internal,protected_friend,private_protected dotnet_naming_symbols.interface_symbols.applicable_kinds = interface dotnet_naming_symbols.interface_symbols.applicable_accessibilities = * dotnet_naming_symbols.parameter_symbols.applicable_kinds = parameter dotnet_naming_symbols.parameter_symbols.applicable_accessibilities = * dotnet_naming_symbols.constant_symbols.applicable_kinds = field dotnet_naming_symbols.constant_symbols.required_modifiers = const dotnet_naming_symbols.constant_symbols.applicable_accessibilities = * dotnet_naming_symbols.private_static_field_symbols.applicable_kinds = field dotnet_naming_symbols.private_static_field_symbols.required_modifiers = static,shared dotnet_naming_symbols.private_static_field_symbols.applicable_accessibilities = private dotnet_naming_symbols.private_field_symbols.applicable_kinds = field dotnet_naming_symbols.private_field_symbols.applicable_accessibilities = private # Styles dotnet_naming_style.camel_case_style.capitalization = camel_case dotnet_naming_style.pascal_case_style.capitalization = pascal_case dotnet_naming_style.camel_case_and_prefix_with_s_underscore_style.required_prefix = s_ dotnet_naming_style.camel_case_and_prefix_with_s_underscore_style.capitalization = camel_case dotnet_naming_style.camel_case_and_prefix_with_underscore_style.required_prefix = _ dotnet_naming_style.camel_case_and_prefix_with_underscore_style.capitalization = camel_case dotnet_naming_style.pascal_case_and_prefix_with_I_style.required_prefix = I dotnet_naming_style.pascal_case_and_prefix_with_I_style.capitalization = pascal_case # CSharp code style settings: [*.cs] # Use file-scoped namespaces csharp_style_namespace_declarations = file_scoped:error # Prefer "var" only when the type is apparent csharp_style_var_for_built_in_types = false:suggestion csharp_style_var_when_type_is_apparent = true:suggestion csharp_style_var_elsewhere = false:suggestion # Prefer method-like constructs to have a block body csharp_style_expression_bodied_methods = false:none csharp_style_expression_bodied_constructors = false:none csharp_style_expression_bodied_operators = false:none # Prefer property-like constructs to have an expression-body csharp_style_expression_bodied_properties = true:none csharp_style_expression_bodied_indexers = true:none csharp_style_expression_bodied_accessors = true:none # Use block body for local functions csharp_style_expression_bodied_local_functions = when_on_single_line:silent # Suggest more modern language features when available csharp_style_pattern_matching_over_is_with_cast_check = true:error csharp_style_pattern_matching_over_as_with_null_check = true:error csharp_style_inlined_variable_declaration = true:error csharp_style_throw_expression = true:suggestion csharp_style_conditional_delegate_call = true:suggestion csharp_style_deconstructed_variable_declaration = true:suggestion # Newline settings 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 = true csharp_new_line_between_query_expression_clauses = true # Identation options csharp_indent_case_contents = true csharp_indent_case_contents_when_block = false csharp_indent_switch_labels = true csharp_indent_labels = no_change csharp_indent_block_contents = true csharp_indent_braces = false # Spacing options csharp_space_after_cast = false csharp_space_after_keywords_in_control_flow_statements = true csharp_space_between_method_call_empty_parameter_list_parentheses = false csharp_space_between_method_call_parameter_list_parentheses = false csharp_space_between_method_call_name_and_opening_parenthesis = false csharp_space_between_method_declaration_parameter_list_parentheses = false csharp_space_between_method_declaration_empty_parameter_list_parentheses = false csharp_space_between_method_declaration_parameter_list_parentheses = false csharp_space_between_method_declaration_name_and_open_parenthesis = false csharp_space_between_parentheses = false csharp_space_between_square_brackets = false csharp_space_between_empty_square_brackets = false csharp_space_before_open_square_brackets = false csharp_space_around_declaration_statements = false csharp_space_around_binary_operators = before_and_after csharp_space_after_cast = false csharp_space_before_semicolon_in_for_statement = false csharp_space_before_dot = false csharp_space_after_dot = false csharp_space_before_comma = false csharp_space_after_comma = true csharp_space_before_colon_in_inheritance_clause = true csharp_space_after_colon_in_inheritance_clause = true csharp_space_after_semicolon_in_for_statement = true # Wrapping csharp_preserve_single_line_statements = true csharp_preserve_single_line_blocks = true # Code block csharp_prefer_braces = false:none # Using statements csharp_using_directive_placement = outside_namespace_ignoring_aliases:error # Modifier settings csharp_prefer_static_local_function = true:warning csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:warning # CSInNull analyzer dotnet_diagnostic.CSIsNull001.severity = warning dotnet_diagnostic.CSIsNull002.severity = warning # Dotnet code analysis settings: [*.{cs,vb}] # Microsoft.Analyzers.ManagedCodeAnalysis dotnet_diagnostic.CA1801.severity = warning # Review unused parameters dotnet_diagnostic.CA1804.severity = warning # Remove unused locals dotnet_diagnostic.CA1806.severity = none # Do not ignore method results dotnet_diagnostic.CA1821.severity = none # Remove empty Finalizers dotnet_diagnostic.CA1823.severity = warning # Avoid unused private fields dotnet_diagnostic.CA1824.severity = none # Mark assemblies with NeutralResourcesLanguageAttribute dotnet_diagnostic.CA1851.severity = warning # Detect multiple enumeration dotnet_diagnostic.CA1852.severity = warning # Seal internal types dotnet_diagnostic.CA2200.severity = none # Rethrow to preserve stack details # Microsoft.NetCore.Analyzers dotnet_diagnostic.CA2000.severity = none # Dispose objects before losing scope (Noisy) dotnet_diagnostic.CA1820.severity = warning # Test for empty strings using string length # Microsoft.CodeAnalysis.NetAnalyzers dotnet_diagnostic.CA1000.severity = none # Do not declare static members on generic types dotnet_diagnostic.CA1001.severity = none # Types that own disposable fields should be disposable dotnet_diagnostic.CA1010.severity = none # Collections should implement generic interface dotnet_diagnostic.CA1016.severity = none # Mark assemblies with assembly version dotnet_diagnostic.CA1018.severity = none # Mark attributes with AttributeUsageAttribute dotnet_diagnostic.CA1028.severity = none # Enum Storage should be Int32 dotnet_diagnostic.CA1030.severity = none # Use events where appropriate dotnet_diagnostic.CA1032.severity = none # Implement standard exception constructors dotnet_diagnostic.CA1033.severity = none # Interface methods should be callable by child types dotnet_diagnostic.CA1034.severity = none # Nested types should not be visible dotnet_diagnostic.CA1036.severity = warning # Override methods on comparable types dotnet_diagnostic.CA1040.severity = none # Avoid empty interfaces dotnet_diagnostic.CA1041.severity = none # Provide ObsoleteAttribute message dotnet_diagnostic.CA1043.severity = none # Use Integral Or String Argument For Indexers dotnet_diagnostic.CA1051.severity = none # Do not declare visible instance fields dotnet_diagnostic.CA1052.severity = none # Static holder types should be Static or NotInheritable dotnet_diagnostic.CA1054.severity = none # Uri parameters should not be strings dotnet_diagnostic.CA1055.severity = none # Uri return values should not be strings dotnet_diagnostic.CA1056.severity = none # Uri properties should not be strings dotnet_diagnostic.CA1060.severity = none # Move P/Invokes to NativeMethods class dotnet_diagnostic.CA1062.severity = none # Validate arguments of public methods dotnet_diagnostic.CA1063.severity = none # Implement IDisposable Correctly: https://github.com/dotnet/roslyn-analyzers/issues/4801 dotnet_diagnostic.CA1064.severity = none # Exceptions should be public dotnet_diagnostic.CA1065.severity = none # Do not raise exceptions in unexpected locations dotnet_diagnostic.CA1066.severity = none # Type {0} should implement IEquatable because it overrides Equals dotnet_diagnostic.CA1067.severity = warning # Override Object.Equals(object) when implementing IEquatable dotnet_diagnostic.CA1068.severity = warning # CancellationToken parameters must come last dotnet_diagnostic.CA1031.severity = none # Do not catch general exception types dotnet_diagnostic.CA1303.severity = none # Do not pass literals as localized parameters dotnet_diagnostic.CA1304.severity = none # Specify CultureInfo dotnet_diagnostic.CA1707.severity = none # Identifiers should not contain underscores dotnet_diagnostic.CA1710.severity = none # Identifiers should have correct suffix dotnet_diagnostic.CA1714.severity = none # Flags enums should have plural names dotnet_diagnostic.CA1715.severity = none # Identifiers should have correct prefix dotnet_diagnostic.CA1716.severity = none # Identifiers should not match keywords dotnet_diagnostic.CA1717.severity = none # Only FlagsAttribute enums should have plural names dotnet_diagnostic.CA1720.severity = none # Identifier contains type name dotnet_diagnostic.CA1721.severity = none # Property names should not match get methods dotnet_diagnostic.CA1724.severity = none # Type names should not match namespaces dotnet_diagnostic.CA1815.severity = none # Override equals and operator equals on value types dotnet_diagnostic.CA1819.severity = warning # Properties should not return arrays dotnet_diagnostic.CA1822.severity = warning # Mark members as static dotnet_code_quality.CA1822.api_surface = private, internal dotnet_diagnostic.CA2007.severity = none # Do not directly await a Task dotnet_diagnostic.CA2211.severity = none # Non-constant fields should not be visible dotnet_diagnostic.CA2218.severity = none # Override GetHashCode on overriding Equals dotnet_diagnostic.CA2222.severity = none # Do not decrease inherited member visibility dotnet_diagnostic.CA2224.severity = none # Override Equals on overloading operator equals dotnet_diagnostic.CA2225.severity = none # Operator overloads have named alternates dotnet_diagnostic.CA2227.severity = none # Collection properties should be read only dotnet_diagnostic.CA2231.severity = none # Overload operator equals on overriding value type Equals dotnet_diagnostic.CA2234.severity = none # Pass system uri objects instead of strings # Microsoft.NetFramework.Analyzers dotnet_diagnostic.CA2153.severity = warning # Do not catch CorruptedStateExceptions dotnet_diagnostic.CA2235.severity = warning # Mark all non-serializable fields dotnet_diagnostic.CA3075.severity = warning # Insecure DTD processing in XML # Microsoft.CodeAnalysis.Analyzers # These diagnostics apply to the source code of analyzers themselves. # We do not have any analyzers in this repository, so disable these. dotnet_diagnostic.RS1001.severity = none # Missing diagnostic analyzer attribute dotnet_diagnostic.RS1002.severity = none # Invalid diagnostic analyzer attribute dotnet_diagnostic.RS1003.severity = none # Invalid diagnostic descriptor dotnet_diagnostic.RS1004.severity = none # Invalid diagnostic identifier dotnet_diagnostic.RS1005.severity = none # Invalid diagnostic category dotnet_diagnostic.RS1006.severity = none # Invalid diagnostic severity dotnet_diagnostic.RS1008.severity = none # Invalid diagnostic title dotnet_diagnostic.RS1009.severity = none # Invalid diagnostic description dotnet_diagnostic.RS1010.severity = none # Invalid diagnostic help link dotnet_diagnostic.RS1011.severity = none # Invalid diagnostic custom tags dotnet_diagnostic.RS1012.severity = none # Invalid diagnostic analyzer action kind dotnet_diagnostic.RS1013.severity = none # Invalid diagnostic analyzer action registration dotnet_diagnostic.RS1014.severity = warning # DoNotIgnoreReturnValueOnImmutableObjectMethodInvocation dotnet_diagnostic.RS1015.severity = none # Invalid diagnostic analyzer action parameter type dotnet_diagnostic.RS1016.severity = none # Invalid diagnostic analyzer action parameter count dotnet_diagnostic.RS1017.severity = none # Invalid diagnostic analyzer action return type dotnet_diagnostic.RS1018.severity = none dotnet_diagnostic.RS1019.severity = none dotnet_diagnostic.RS1020.severity = none dotnet_diagnostic.RS1021.severity = none dotnet_diagnostic.RS1022.severity = none dotnet_diagnostic.RS1023.severity = none # Microsoft.Composition.Analyzers dotnet_diagnostic.RS0006.severity = error # Do not mixing MEF versions dotnet_diagnostic.RS0023.severity = error # MEF2 components must be shared # Roslyn.Core dotnet_diagnostic.AD0001.severity = warning # Analyzer exception # Roslyn.Diagnostic.Analyzers dotnet_diagnostic.RS0001.severity = warning # Use 'SpecializedCollections.EmptyEnumerable()' dotnet_diagnostic.RS0002.severity = warning # Use 'SpecializedCollections.SingletonEnumerable()' dotnet_diagnostic.RS0005.severity = warning # Do not use generic 'CodeAction.Create' to create 'CodeAction' dotnet_diagnostic.RS0016.severity = warning # Do not have undeclared API dotnet_diagnostic.RS0017.severity = warning # API is declared but not public dotnet_diagnostic.RS0022.severity = warning # Constructor make noninheritable base class inheritable dotnet_diagnostic.RS0024.severity = warning # The contents of the public API files are invalid: dotnet_diagnostic.RS0025.severity = warning # Do not duplicate symbols in public API files dotnet_diagnostic.RS0026.severity = warning # Do not add multiple public overloads with optional parameters dotnet_diagnostic.RS0027.severity = warning # Public API with optional parameter(s) should have the most parameters amongst its public overloads. dotnet_diagnostic.RS0030.severity = warning # Do not use banned APIs dotnet_diagnostic.RS0031.severity = warning # The list of banned symbols contains a duplicate dotnet_diagnostic.RS0033.severity = none # Importing constructor should be [Obsolete] dotnet_diagnostic.RS0034.severity = none # Style rule that enforces public MEF constructor marked with [ImportingConstructor] # System.Collections.Immutable.Analyzers dotnet_diagnostic.RS0012.severity = warning # System.Runtime.Analyzers dotnet_diagnostic.CA1305.severity = none # Specify IFormatProvider dotnet_diagnostic.CA1307.severity = suggestion # Specify StringComparison dotnet_diagnostic.CA1308.severity = none # Normalize strings to uppercase dotnet_diagnostic.CA1810.severity = none # Initialize reference type static fields inline dotnet_diagnostic.CA1816.severity = none # Dispose methods should call SuppressFinalize dotnet_diagnostic.CA1825.severity = warning # Avoid zero-length array allocations. dotnet_diagnostic.CA2002.severity = none # Do not lock on objects with weak identity dotnet_diagnostic.CA2207.severity = none # Initialize value type static fields inline dotnet_diagnostic.CA2208.severity = none # Instantiate argument exceptions correctly dotnet_diagnostic.CA2216.severity = none # Disposable types should declare finalizer dotnet_diagnostic.CA2219.severity = none # Do not raise exceptions in finally clauses dotnet_diagnostic.CA2241.severity = none # Provide correct arguments to formatting methods dotnet_diagnostic.CA2242.severity = none # Test for NaN correctly dotnet_diagnostic.RS0014.severity = warning # Do not use Enumerable methods on indexable collections # System.Runtime.InteropServices.Analyzers dotnet_diagnostic.CA1401.severity = none # P/Invokes should not be visible dotnet_diagnostic.CA2101.severity = none # Specify marshaling for P/Invoke string arguments dotnet_diagnostic.RS0015.severity = warning # Do not use Enumerable methods on indexable collections # System.Threading.Tasks.Analyzers dotnet_diagnostic.RS0018.severity = warning # Do not create tasks without passing a TaskScheduler # XmlDocumentationComments.Analyzers dotnet_diagnostic.RS0010.severity = warning # Avoid empty element tags # Microsoft.CodeAnalysis.CSharp.Features # Name: Before: After: dotnet_diagnostic.IDE0001.severity = warning # Simplify names System.Version version; Version version; dotnet_diagnostic.IDE0002.severity = warning # Simplify (member access) System.Version.Equals("1", "2"); Version.Equals("1", "2"); dotnet_diagnostic.IDE0005.severity = warning # Using directive is unnecessary using System.Text; dotnet_diagnostic.IDE0030.severity = warning # Use coalesce expression (nullable) int? y = x.HasValue ? x.Value : 0 int? y = x ?? 0; dotnet_diagnostic.IDE0030WithoutSuggestion.severity = error dotnet_diagnostic.IDE0031.severity = warning # Use null propagation (nullable) dotnet_diagnostic.IDE0051.severity = warning # Private member unused dotnet_diagnostic.IDE0052.severity = warning # Remove unread private members dotnet_diagnostic.IDE0059.severity = error # Unnecessary assignment dotnet_diagnostic.IDE0079.severity = warning # Unused suppresion dotnet_diagnostic.IDE0083.severity = warning # Use pattern matching dotnet_diagnostic.IDE0084.severity = warning # Use IsNot dotnet_diagnostic.IDE0090.severity = warning # Use new(...) dotnet_diagnostic.IDE0220.severity = warning # Add explicit cast dotnet_diagnostic.IDE0250.severity = warning # Struct can be made 'readonly' dotnet_diagnostic.IDE0251.severity = suggestion # Struct methods can be made 'readonly' dotnet_diagnostic.IDE0270.severity = suggestion # Use coalesce expression dotnet_diagnostic.IDE0300.severity = suggestion # Use collection expression dotnet_diagnostic.IDE1006.severity = warning # Naming styles Task Open() Task OpenAsync() dotnet_diagnostic.IDE1006WithoutSuggestion.severity = suggestion dotnet_style_prefer_foreach_explicit_cast_in_source = always # IDE0220: Add explicit cast # Microsoft.VisualStudio.Threading.Analyzers # https://github.com/microsoft/vs-threading/blob/main/doc/analyzers/index.md dotnet_diagnostic.VSTHRD200.severity = error # Use Async suffix for async methods Task OpenAsync() dotnet_diagnostic.VSTHRD010.severity = none # Visual Studio service should be used on main thread explicitly. dotnet_diagnostic.VSTHRD103.severity = none # Call async methods when in an async method. dotnet_diagnostic.VSTHRD108.severity = none # Thread affinity checks should be unconditional. dotnet_diagnostic.VSTHRD003.severity = none # Avoid awaiting or returning a Task representing work that was not started within your context as that can lead to deadlocks dotnet_diagnostic.VSTHRD111.severity = none # Use ConfigureAwait(true). dotnet_diagnostic.VSTHRD100.severity = error # Avoid async void methods # Microsoft.VisualStudio.SDK.Analyzers # https://github.com/microsoft/VSSDK-Analyzers/blob/main/doc/index.md dotnet_diagnostic.VSSDK006.severity = warning # Check whether the result of GetService calls is null # Microsoft.CodeAnalysis.VisualBasic.CodeStyle/Microsoft.CodeAnalysis.CSharp.CodeStyle dotnet_diagnostic.IDE0073.severity = warning # Enforce file header file_header_template = Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE.md file in the project root for more information. # White space rules (experimental) dotnet_style_allow_multiple_blank_lines_experimental = false csharp_style_allow_embedded_statements_on_same_line_experimental = false csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = false csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = false dotnet_diagnostic.IDE2000.severity = warning # Allow multiple blank lines dotnet_diagnostic.IDE2001.severity = warning # Allow embedded statements on same line dotnet_diagnostic.IDE2002.severity = warning # Allow blank lines between consecutive braces dotnet_diagnostic.IDE2003.severity = warning # Allow blank line after colon in constructor initializer dotnet_diagnostic.IDE2004.severity = warning # Allow blank line after token in conditional expression dotnet_diagnostic.IDE2005.severity = warning # Allow blank line after token in arrow expression clause dotnet_diagnostic.IDE2006.severity = warning # Allow blank line after token in object initializer # Reduce severity for some VB rules where the risks of changes outweight the benefit [*.{vb}] dotnet_diagnostic.IDE0031.severity = suggestion # Use null propagation (nullable) dotnet_diagnostic.CA1307.severity = suggestion # Specify StringComparison # NETCOREUNDONE: Should be removed when obsolete System.Xaml types are moved from Microsoft.VisualStudio.ProjectSystem.XamlTypes into official package # Disabling warning for C# files generated from xaml rules [artifacts/*/obj/Microsoft.VisualStudio.ProjectSystem.Managed/net8.0/*.cs] # CS0618: Type or member is obsolete dotnet_diagnostic.CS0618.severity = silent