# NOTE: Requires **VS2019 16.3** or later # All Rules Enabled as build warnings # Description: All Rules are enabled as build warnings. Rules with IsEnabledByDefault = false are force enabled as build warnings. # Code files [*.{cs,vb}] # 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: Generic interface should also be implemented dotnet_diagnostic.CA1010.severity = warning # CA1012: Abstract types should not have public constructors dotnet_diagnostic.CA1012.severity = warning # CA1014: Mark assemblies with CLSCompliant dotnet_diagnostic.CA1014.severity = warning # CA1016: Mark assemblies with assembly version dotnet_diagnostic.CA1016.severity = warning # CA1017: Mark assemblies with ComVisible 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 = none # 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 = suggestion # 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 equality operator on reference types dotnet_diagnostic.CA1046.severity = warning # CA1047: Do not declare protected member in sealed type 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 Static or NotInheritable dotnet_diagnostic.CA1052.severity = warning # CA1054: URI-like parameters should not be strings dotnet_diagnostic.CA1054.severity = warning # CA1055: URI-like return values should not be strings dotnet_diagnostic.CA1055.severity = warning # CA1056: URI-like 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 pinvokes to native methods 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 Object.Equals dotnet_diagnostic.CA1066.severity = warning # CA1067: Override Object.Equals(object) when implementing IEquatable dotnet_diagnostic.CA1067.severity = warning # CA1068: CancellationToken parameters must come last dotnet_diagnostic.CA1068.severity = warning # CA1069: Enums values should not be duplicated 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 string comparison 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: This method uses runtime marshalling even when the '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 to express symbol names dotnet_diagnostic.CA1507.severity = warning # CA1508: Avoid dead conditional code dotnet_diagnostic.CA1508.severity = warning # CA1509: Invalid entry in code metrics rule specification 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 # 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 # CA1715: Identifiers should have correct prefix dotnet_diagnostic.CA1715.severity = warning # CA1716: Identifiers should not match keywords dotnet_diagnostic.CA1716.severity = warning # CA1720: Identifier contains type name 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 # 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: Dispose methods should call SuppressFinalize 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: Do not use Enumerable methods on indexable collections dotnet_diagnostic.CA1826.severity = warning # CA1827: Do not use Count() or LongCount() when Any() can be used dotnet_diagnostic.CA1827.severity = warning # CA1828: Do not use CountAsync() or LongCountAsync() when AnyAsync() can be used dotnet_diagnostic.CA1828.severity = warning # CA1829: Use Length/Count property instead of Count() when available dotnet_diagnostic.CA1829.severity = warning # CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder dotnet_diagnostic.CA1830.severity = warning # CA1831: Use AsSpan or AsMemory instead of Range-based indexers when appropriate dotnet_diagnostic.CA1831.severity = warning # CA1832: Use AsSpan or AsMemory instead of Range-based indexers when appropriate dotnet_diagnostic.CA1832.severity = warning # CA1833: Use AsSpan or AsMemory instead of Range-based indexers when appropriate dotnet_diagnostic.CA1833.severity = warning # CA1834: Consider using 'StringBuilder.Append(char)' when applicable 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 dotnet_diagnostic.CA1836.severity = warning # CA1837: Use 'Environment.ProcessId' dotnet_diagnostic.CA1837.severity = warning # CA1838: Avoid 'StringBuilder' parameters for P/Invokes dotnet_diagnostic.CA1838.severity = warning # CA1839: Use 'Environment.ProcessPath' dotnet_diagnostic.CA1839.severity = warning # CA1840: Use 'Environment.CurrentManagedThreadId' 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: Prefer 'Clear' over 'Fill' dotnet_diagnostic.CA1855.severity = warning # CA1856: Incorrect usage of ConstantExpected attribute dotnet_diagnostic.CA1856.severity = warning # CA1857: A constant is expected for the parameter 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: Use char overload dotnet_diagnostic.CA1865.severity = warning # CA1866: Use char overload dotnet_diagnostic.CA1866.severity = warning # CA1867: Use char overload dotnet_diagnostic.CA1867.severity = warning # CA1868: Unnecessary call to 'Contains(item)' 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: Consider calling ConfigureAwait on the awaited 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: Avoid infinite recursion 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 dotnet_diagnostic.CA2015.severity = warning # CA2016: Forward the 'CancellationToken' parameter to methods dotnet_diagnostic.CA2016.severity = warning # CA2017: Parameter count mismatch dotnet_diagnostic.CA2017.severity = warning # CA2018: 'Buffer.BlockCopy' expects the number of bytes to be copied for the 'count' argument dotnet_diagnostic.CA2018.severity = warning # CA2019: Improper 'ThreadStatic' field initialization dotnet_diagnostic.CA2019.severity = warning # CA2020: Prevent behavioral change dotnet_diagnostic.CA2020.severity = warning # CA2021: Do not call Enumerable.Cast or Enumerable.OfType with incompatible types dotnet_diagnostic.CA2021.severity = warning # CA2100: Review SQL queries for security vulnerabilities dotnet_diagnostic.CA2100.severity = warning # CA2101: Specify marshaling for P/Invoke string arguments dotnet_diagnostic.CA2101.severity = warning # CA2119: Seal methods that satisfy private interfaces dotnet_diagnostic.CA2119.severity = warning # CA2153: Do Not Catch 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 finally 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 # CA2231: Overload operator equals on overriding value type 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 serializable 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: Assigning 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' dotnet_diagnostic.CA2251.severity = warning # CA2252: This API requires opting into 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 the '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: 'ThreadStatic' only affects static fields dotnet_diagnostic.CA2259.severity = warning # CA2260: Use correct type parameter dotnet_diagnostic.CA2260.severity = warning # CA2261: Do not use ConfigureAwaitOptions.SuppressThrowing with Task 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: Do not use DataTable.ReadXml() with untrusted data dotnet_diagnostic.CA2350.severity = warning # CA2351: Do not use DataSet.ReadXml() with untrusted data 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 attacks dotnet_diagnostic.CA2354.severity = warning # CA2355: Unsafe DataSet or DataTable type found in deserializable object graph dotnet_diagnostic.CA2355.severity = warning # CA2356: Unsafe DataSet or DataTable type in web deserializable object graph dotnet_diagnostic.CA2356.severity = warning # CA2361: Ensure auto-generated class containing DataSet.ReadXml() is not used with untrusted data dotnet_diagnostic.CA2361.severity = warning # CA2362: Unsafe DataSet or DataTable in auto-generated 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 in XML dotnet_diagnostic.CA3075.severity = warning # CA3076: Insecure XSLT script processing dotnet_diagnostic.CA3076.severity = warning # CA3077: Insecure Processing in API Design, XmlDocument and XmlTextReader dotnet_diagnostic.CA3077.severity = warning # CA3147: Mark Verb Handlers With Validate Antiforgery Token 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: Review cipher mode usage with cryptography experts 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.ReadXml()' 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 'XmlSerializer.Deserialize()' dotnet_diagnostic.CA5369.severity = warning # CA5370: Use XmlReader for XmlValidatingReader constructor dotnet_diagnostic.CA5370.severity = warning # CA5371: Use XmlReader for 'XmlSchema.Read()' dotnet_diagnostic.CA5371.severity = warning # CA5372: Use XmlReader for XPathDocument constructor 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: Ensure Key Derivation Function algorithm is sufficiently strong 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: HttpClients should enable certificate revocation list checks 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 [*.{cs,vb}] #### Naming styles #### # Naming rules dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion dotnet_naming_rule.types_should_be_pascal_case.symbols = types dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case # Symbol specifications dotnet_naming_symbols.interface.applicable_kinds = interface dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.interface.required_modifiers = dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.types.required_modifiers = dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.non_field_members.required_modifiers = # Naming styles dotnet_naming_style.begins_with_i.required_prefix = I dotnet_naming_style.begins_with_i.required_suffix = dotnet_naming_style.begins_with_i.word_separator = dotnet_naming_style.begins_with_i.capitalization = pascal_case dotnet_naming_style.pascal_case.required_prefix = dotnet_naming_style.pascal_case.required_suffix = dotnet_naming_style.pascal_case.word_separator = dotnet_naming_style.pascal_case.capitalization = pascal_case dotnet_naming_style.pascal_case.required_prefix = dotnet_naming_style.pascal_case.required_suffix = dotnet_naming_style.pascal_case.word_separator = dotnet_naming_style.pascal_case.capitalization = pascal_case dotnet_style_operator_placement_when_wrapping = beginning_of_line tab_width = 4 indent_size = 4 end_of_line = crlf dotnet_style_coalesce_expression = true:suggestion dotnet_style_null_propagation = true:suggestion dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion dotnet_style_prefer_auto_properties = true:silent dotnet_style_object_initializer = true:suggestion dotnet_style_prefer_collection_expression = true:suggestion dotnet_style_collection_initializer = true:suggestion dotnet_style_prefer_simplified_boolean_expressions = true:suggestion dotnet_style_prefer_conditional_expression_over_assignment = true:silent dotnet_style_prefer_conditional_expression_over_return = true:silent 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_compound_assignment = true:suggestion dotnet_style_prefer_simplified_interpolation = true:suggestion dotnet_style_namespace_match_folder = true:suggestion [*.cs] csharp_indent_labels = one_less_than_current csharp_space_around_binary_operators = before_and_after csharp_using_directive_placement = outside_namespace:silent csharp_prefer_simple_using_statement = true:suggestion csharp_prefer_braces = true:silent csharp_style_namespace_declarations = file_scoped:silent csharp_style_prefer_method_group_conversion = true:silent csharp_style_prefer_top_level_statements = true:silent csharp_style_prefer_primary_constructors = true:suggestion csharp_style_expression_bodied_methods = false:silent csharp_style_expression_bodied_constructors = false:silent csharp_style_expression_bodied_operators = false:silent csharp_style_expression_bodied_properties = true:silent csharp_style_expression_bodied_indexers = true:silent csharp_style_expression_bodied_accessors = true:silent csharp_style_expression_bodied_lambdas = true:silent csharp_style_expression_bodied_local_functions = false:silent csharp_style_throw_expression = true:suggestion csharp_style_prefer_null_check_over_type_check = true:suggestion csharp_prefer_simple_default_expression = true:suggestion csharp_style_prefer_local_over_anonymous_function = true:suggestion csharp_style_prefer_index_operator = true:suggestion csharp_style_prefer_range_operator = true:suggestion csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion csharp_style_prefer_tuple_swap = true:suggestion csharp_style_prefer_utf8_string_literals = true:suggestion csharp_style_inlined_variable_declaration = true:suggestion csharp_style_deconstructed_variable_declaration = true:suggestion csharp_style_unused_value_assignment_preference = discard_variable:suggestion csharp_style_unused_value_expression_statement_preference = discard_variable:silent