我对 ReSharper 给出的建议明显错误感到有疑问。例如,在以下代码示例中,ReSharper 表示response
, dates
, and 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
我已经关注了来自此链接的建议 http://www.jetbrains.com/resharper/webhelp/Reference__Options__Environment__General.html要尝试清除 ReSharper 的缓存,请转至 ReSharper --> 选项 --> 环境 --> 常规,然后单击“清除缓存”按钮。但当我单击该按钮时,我没有从 ReSharper 收到任何发生任何情况的反馈。屏幕就在那里;没有弹出消息,没有任何类型的 UI 反馈。当我单击“保存”按钮关闭表单时,问题仍然存在。
TL;DR:
有没有其他方法可以清除 ReSharper 的缓存?如果做不到这一点,是否有其他方法可以让静态分析器再次工作?
我在 Visual Studio 2012 中运行 ReSharper 8.1.23.546(版本 11.0.61030.0)。
更新1:
我还尝试清理和重建项目,以及关闭和打开 Visual Studio。这些都没有任何效果。我能想到的唯一两件事是:
- 手动删除ReSharper的缓存文件。但我不知道它们位于哪里,而且我不确定这样做是否安全。
- 卸载并重新安装 ReSharper。但这似乎很激烈。我宁愿不这样做,除非这是唯一的选择。
更新2:
I used 公民马特的回答 https://stackoverflow.com/a/21148771/645511找到并删除缓存文件,但这没有任何区别。 ReSharper 仍将变量标识为未使用。
我还重新启动了我的电脑,虽然我还没有这样做,但正如我所料,这并没有真正改变任何东西。我可能会认为卸载并重新安装是唯一的选择。
更新3:
我吃完午饭回来,决定硬着头皮卸载并重新安装。这也没有解决这个问题。现在我越来越绝望了。