如何在Rider中为特定项目禁用“value参数未使用”警告
如何在Rider中为单个项目禁用“value参数未使用”警告?
我正在开发一个仅包含Models的项目,其中有大量类似如下的属性:
public string FromReversed { get { return From.ReverseString(); } #if MyDirective [Obsolete("仅保留此setter是因为如果不包含它,该属性无法保存到MongoDB")] set { } #endif }
使用Rider IDE时,我会收到警告:'value' parameter is not used。虽然可以通过在属性上方添加注释// ReSharper disable once ValueParameterNotUsed,或在文件顶部添加// ReSharper disable ValueParameterNotUsed来禁用该警告,但我希望为整个项目一次性禁用该警告,且不影响其他项目的该警告提示。
我尝试过但无效的方法
- 按下
.+ Enter,将该警告的严重程度从“警告”改为“不显示”:操作后警告消失,但会影响所有项目,不符合仅针对当前项目的需求。 - 在GlobalUsing.cs文件中添加程序集级抑制特性:
global using Swashbuckle.AspNetCore.Annotations; global using JetBrains.Annotations; using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; // 该特性放在类上方时有效,但全局添加无效 [assembly: SuppressMessage("ReSharper", "ValueParameterNotUsed")]
- 在
.editorconfig文件中添加resharper_value_parameter_not_used=none:可能是属性名称不正确,未生效。 - 在.csproj文件的
<PropertyGroup>中添加警告ID:
<PropertyGroup> <NoWarn>1701;1702;ValueParameterNotUsed</NoWarn> </PropertyGroup>
该方法也未生效。
正确的解决方法
方法1:项目级.editorconfig配置
在当前项目的根目录下创建或修改.editorconfig文件,添加以下配置(若无效,需确认Rider检查项的正确ID):
[*.cs] resharper_value_parameter_not_used = none
确认ID的方法:点击警告旁的灯泡图标 → 选择“Inspection 'Value parameter is not used' options” → “Configure inspection severity”,在弹出窗口中查看该检查项的内部ID。
方法2:自定义项目级检查配置文件
- 打开Rider设置(File → Settings),导航到
Editor → Inspection Settings → Inspection Severity。 - 点击顶部
Profile下拉菜单的Manage Profiles,新建一个配置文件(比如命名为“ModelProjectNoValueWarn”)。 - 搜索“Value parameter is not used”,将其严重程度改为
Do not show。 - 右键目标项目 →
Properties→ 在Code Inspection Settings中,将Profile设置为刚才创建的自定义配置文件。
此方法仅对当前项目生效,不影响其他项目的检查规则。
方法3:正确配置程序集级抑制特性
创建单独的AssemblyInfo.cs文件(不要放在GlobalUsing.cs中),内容如下:
using System.Diagnostics.CodeAnalysis; [assembly: SuppressMessage("ReSharper", "ValueParameterNotUsed")]
确保该文件的生成操作设置为Compile,部分Rider版本可能需要重启IDE才能生效。
内容的提问来源于stack exchange,提问作者Tono Nam
相关产品推荐
相关产品推荐

