如何在C#中配置CS0535的Severity为suggested并管控自动修复?
解决CS0535代码清理自动修复问题
核心思路
CS0535是原生C#编译错误,默认构建时会触发错误提示;要实现「编辑器内显示修复建议但代码清理不自动修复,构建时仍报错」,需要分开控制编译/构建时的错误级别、编辑器内的提示级别,以及自动修复开关。
具体配置步骤
在项目根目录的.editorconfig文件中添加以下配置:
保持构建时的错误级别
确保构建过程中CS0535仍被标记为错误,阻止编译通过:[*.cs] dotnet_diagnostic.CS0535.severity = error设置编辑器内显示为修复建议
让VS/Rider等编辑器中仅显示建议提示,不强制报错:[*.cs] dotnet_diagnostic.CS0535.severity = suggested:editor这个配置仅作用于编辑器环境,不会影响构建过程的错误级别。
禁用自动修复
阻止代码清理工具自动修复CS0535问题:[*.cs] dotnet_code_quality.CS0535.autofix = false
为什么之前的配置无效?
直接设置dotnet_diagnostic.CS0535.severity = suggested会覆盖构建时的级别,导致构建不再报错,不符合你的需求;同时,仅修改severity不会控制自动修复行为,必须单独禁用autofix开关。
验证配置
- 打开包含CS0535问题的代码文件,编辑器应显示建议级别的提示(而非红色错误下划线)。
- 运行代码清理(如VS中的「清理代码」命令),CS0535对应的接口实现不会被自动添加。
- 执行
dotnet build,构建过程应触发CS0535错误,阻止构建完成。
内容的提问来源于stack exchange,提问作者dam_hu_2024
相关产品推荐
相关产品推荐

