# NOTE: Requires **VS2019 16.7** or later

# 'Interoperability' Rules from '10.0' release with 'Recommended' analysis mode escalated to 'error' severity
# Description: 'Interoperability' Rules with enabled-by-default state from '10.0' release with 'Recommended' analysis mode. Rules that are first released in a version later than '10.0' are disabled. Enabled rules with 'warning' severity are escalated to 'error' severity to respect 'CodeAnalysisTreatWarningsAsErrors' MSBuild property.

is_global = true

global_level = -99


# CA1401: P/Invokes should not be visible
dotnet_diagnostic.CA1401.severity = error

# CA1416: Validate platform compatibility
dotnet_diagnostic.CA1416.severity = error

# CA1417: Do not use 'OutAttribute' on string parameters for P/Invokes
dotnet_diagnostic.CA1417.severity = error

# CA1418: Use valid platform string
dotnet_diagnostic.CA1418.severity = error

# 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 = error

# CA1420: Property, type, or attribute requires runtime marshalling
dotnet_diagnostic.CA1420.severity = error

# CA1421: This method uses runtime marshalling even when the 'DisableRuntimeMarshallingAttribute' is applied
dotnet_diagnostic.CA1421.severity = error

# CA1422: Validate platform compatibility
dotnet_diagnostic.CA1422.severity = error
