【发布时间】:2014-01-17 04:29:05
【问题描述】:
我对 ReSharper 给出明显错误的建议有疑问。例如,在下面的代码示例中,ReSharper 说 response、dates 和 ex 变量在以下行中明确使用时永远不会使用:
Dim response As New WcfResponseBoolean
Try
' ReSharper identifies 'b' as unused, but it is used on the next line.
b = Builders.CastBuilderFromSession
If b Is Nothing Then
response.SetSessionExpired()
Return response
End If
' ReSharper identifies 'dates' as unused, but it is used on the next line.
Dim dates As New List(Of DateTime)({ConvertToUSDateTime(inWithTime)})
CompareDateList(response, inTimeToCompare, New ComparableDatesList()
With {.Dates = dates, .CheckCompareType = compareType}, False)
' ReSharper identifies 'ex' as unused, but it is used on the next line.
Catch ex As Exception
MailHandler.SendExceptionEmailToBTDebug(ex, "CompareDates")
response.SetUnhandledException()
End Try
我已关注the advice from this link,尝试通过转到 ReSharper --> 选项 --> 环境 --> 常规并单击“清除缓存”按钮来清除 ReSharper 的缓存。但是,当我单击该按钮时,我没有从 ReSharper 收到任何关于发生任何事情的反馈。屏幕就在那里;没有弹出消息,没有任何形式的 UI 反馈。当我单击“保存”按钮关闭表单时,问题仍然存在。
TL;DR:
有没有其他方法可以清除 ReSharper 的缓存?如果做不到这一点,是否有其他方法可以让静态分析器再次工作?
我在 Visual Studio 2012(版本 11.0.61030.0)中运行 ReSharper 8.1.23.546。
更新 1:
我还尝试清理和重建项目,以及关闭和打开 Visual Studio。这些都没有任何效果。从这里我能想到的唯一两件事是:
- 手动删除 ReSharper 的缓存文件。但我不知道它们的位置,也不确定这样做是否安全。
- 卸载并重新安装 ReSharper。但这似乎很激烈。我不想这样做,除非这是唯一的选择。
更新 2:
我使用citizenmatt's answer 定位和删除缓存文件,但没有任何区别。 ReSharper 仍在将变量标识为未使用。
我还重新启动了我的电脑,但我还没有这样做,但正如我所料,这并没有真正改变任何事情。我可能已经到了卸载和重新安装是唯一剩下的选择的地步了。
更新 3:
我吃完午饭回来,决定硬着头皮卸载并重新安装。那也没有解决这个问题。现在我越来越绝望了。
【问题讨论】:
-
感谢您提供更新。我遇到了同样的问题,您的更新 1 对我有用。
-
您找到解决方案了吗?我在使用 Resharper 时遇到了同样的问题。