为什么ReSharper只在我的一个项目中将未使用的变量显示为错误?

本文关键字:未使用 变量 显示 错误 项目 一个 ReSharper 我的 为什么 | 更新日期: 2023-09-27 18:13:28

我正在开发一个c#解决方案,我从另一个开发人员那里继承了这个解决方案,它最后一次工作是在2011年。他在VS2010 Professional中创建了它,并发誓他从未使用过ReSharper。我使用VS2012 Pro和ReSharpher 7.1.3。

该解决方案共有7个项目(3个winforms, 3个类库和1个控制台应用程序),并且在控制台应用程序中,ReSharper将任何未使用的变量标记为错误,我不确定为什么。应该注意的是,项目编译得很好,VS的错误输出没有显示任何关于未使用的变量。

最初,我认为它链接到未被使用的变量类型,但事实证明这是错误的。我尝试了几种不同的变量类型,都有相同的效果。

所以现在我认为它必须是一个特定于项目的设置,但我只有三个设置层显示"未使用的局部变量"应该显示为警告。

我不知道是什么原因导致这个显示为错误。显而易见的解决方案是删除或使用未使用的变量,但我也希望确定在幕后没有任何我不知道的事情发生。

编辑:一些未使用变量的例子:

List<string> keys = Dependencies.Keys.ToList();
string testString = "test";
int testInt = 0;

编辑2:上述三个变量只在方法中局部声明和实例化,而不会在其他代码中使用。如果我抑制警告,我将收到以下信息:

#pragma warning disable 168
        List<string> keys = Dependencies.Keys.ToList();
#pragma warning restore 168

重新启动ReSharper无法解决这个问题

为什么ReSharper只在我的一个项目中将未使用的变量显示为错误?

我猜你的项目有警告设置为错误。

进入以下菜单选项

Project>Properties> Build

在"Errors and warnings"的右侧,你会看到

"将警告视为错误"

这是一个基于项目的设置,与之前的用户是否有resharper没有任何关系。resharper会读取这些信息,如下所示:resharper web help

注意

在Visual Studio项目设置中,您可以选择将警告视为错误。ReSharper知道这个选项并突出显示警告相应地:如果此设置开启,则问题对应于编译器警告将被突出显示为错误。

这个设置可以在项目属性中配置:project |[项目名称]属性|将警告视为错误并且可以如果选中"全部"或指定的选项,则应用于所有警告警告。