ReSharper的静态分析仪似乎已损坏。我如何解决它?

时间:2014-01-15 16:40:49

标签: vb.net resharper

我遇到了ReSharper的问题,显然提出了错误的建议。例如,在下面的代码示例中,ReSharper表示从不使用responsedatesex变量,当它们明确用于以下行时:

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。这些都没有任何影响。我能想到的唯一两件事就是:

  1. 手动删除ReSharper的缓存文件。但我不知道它们的位置,我不确定这样做是否安全。
  2. 卸载并重新安装ReSharper。但这似乎很激烈。我不想这样做,除非它是唯一的选择。
  3. 更新2:

    我使用citizenmatt's answer来查找和删除缓存文件,但它没有任何区别。 ReSharper仍然将变量识别为未使用。

    我还重新启动了我尚未完成的PC,但正如我所料,这并没有真正改变任何东西。我可能已经到了卸载和重新安装是唯一的选择。

    更新3:

    我从午餐回来并决定咬紧牙关并卸载并重新安装。这也没有解决这个问题。现在我变得绝望了。

1 个答案:

答案 0 :(得分:1)

您可以在%LOCALAPPDATA%\JetBrains\ReSharper\v8.1\SolutionCaches找到解决方案缓存。缓存文件夹名为_ReSharper.{Solution}.{hash},其中{solution}是解决方案的名称,哈希是一个数字值,用于防止名称冲突。你应该能够找到你正在寻找的那个。在Visual Studio关闭的情况下将其删除,然后重新打开解决方案。