【问题标题】:ReSharper "Cannot resolve symbol" even when project builds即使项目构建,ReSharper“无法解析符号”
【发布时间】:2013-03-20 17:46:00
【问题描述】:

我的工具:

Visual Studio 2012 Ultimate + 更新 1

ReSharper v7.1.25.234

我的解决方案构建状态: 构建成功

但是当我安装 ReSharper 并启用 ReSharper 代码分析时,我的代码的许多关键字都是红色并出现此错误:

“无法解析符号 XXX”


我的项目的另一张照片>>

ReSharper“CANNOT RESOLVE SYMBOL”错误无处不在,但我的项目构建过程是成功的,并且工作正常。

补充说明:如果我禁用 ReSharper 代码分析,我的项目会正常,但我想使用 ReSharper 代码分析。


我试过 ReSharper → 选项常规清除缓存。但是我还是有这个问题!


  • 一个月前,我在卸载 Visual Studio 2012 RC 并安装 VS 2012 RTM 时遇到这些错误。

  • 我已经卸载并再次安装了 ReSharper。但是我还有这个问题!

  • 我的解决方案有五个项目>>两个加载项目(主项目+资源项目)和三个卸载项目


我意识到我的 Visual Studio 也有更大的问题 (More information on Stack Overflow)

  • 我无法添加对我的项目的任何引用(即使在新解决方案和新项目中)

  • 我无法安装任何包(通过“包管理器控制台”或管理 NuGet 包)

  • 我无法更新任何包(通过“包管理器控制台”或管理 NuGet 包)

我提出了很多建议(对我自己和其他人)

  • 重新注册一些 DLL 文件

  • 使用一些窗口和注册表修复工具

  • 移除 ReSharper

  • 修复 Visual Studio

  • 还有……

但我无法解决。

我正在考虑安装新的 Windows :(


出了什么问题,我该如何解决?

【问题讨论】:

  • 我曾经遇到过同样的问题。必须卸载它并重新安装。
  • @Marco,我已经卸载并重新安装了它。但还没有解决。
  • 是因为Automapper红色,你应该检查一下
  • 以下任何解决方案都可以暂时起作用。如果您还使用 TFS 进行版本控制,问题总是会再次出现,并且尤其糟糕。 JetBrains 的沉默和过去一年中缺乏更新让我觉得他们正在懒洋洋地乘坐 R# 赚钱火车。
  • 就我而言,这里的答案都没有奏效。我也得到了 Jetbrain 的支持,但他们还没有提供帮助。我只需要暂时禁用 Resharper。 Issue tracked here.

标签: c# asp.net-mvc visual-studio-2012 resharper-7.1


【解决方案1】:

试试 Visual Studio → 菜单 ToolsOptionsReSharperSuspend 按钮和 Resume 再次(无需关闭窗口)。这适用于我的情况。

【讨论】:

  • 在带有 Resharper 7.1.3 的 VS2012 Update 3 上,这并没有解决我的问题。卸载 Resharper 并重新安装为我修复了它。
  • 这对我不起作用,但清除 ReSharper 缓存解决了问题。
  • 我必须清除缓存并暂停 ReSharper VS2012 更新 4 和 R# 7.1
  • 这对我也不起作用,但是卸载/重新加载项目确实有效:右键单击项目->卸载项目,然后再次右键单击->重新加载项目。
  • 清除缓存的相同解决方案(在某些情况下是必需的):stackoverflow.com/a/19772172/2387977
【解决方案2】:
VS -> Tools -> Options -> ReSharper Suspend button 
Clear Contents of -> AppData\Local\JetBrains\ReSharper\v7.1\SolutionCaches
VS -> Tools -> Options -> ReSharper Resume  button

【讨论】:

  • 您可以执行 Resharper > 选项 > 环境 > 常规 单击“清除 Cashe”,然后重新启动 VS。 Ty 的答案,帮助了我。
  • 这对我有用 :) Visual Studio 本身的 Clear Cache 的其他方法 ty
  • 清除缓存对我不起作用。删除了 SolutionCaches 文件夹的内容。
  • 这对我来说可以解决烦人的“无法解决方法”警告。补充一点,对于 VS2013 中的 resharper 9,路径是 \AppData\Local\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches
  • 再次添加,这次是 Visual Studio 2015 中的 Resharper 10,路径是 %localappdata%\JetBrains\Transient\ReSharperPlatformVs14。我在那里有 v02、v03 和 v04 子文件夹 - 我删除了所有这些子文件夹及其内容。
【解决方案3】:

这对我有用(VS2012u4,R# 7.1.3):

  1. Resharper > 选项 > 环境:常规 > 清除缓存
  2. 重启 Visual Studio

【讨论】:

    【解决方案4】:

    清除 Resharper 缓存:Resharper -> 选项 -> 常规 -> 清除缓存,关闭并重新打开解决方案。它在 R# 9.0 Update 1 中工作

    【讨论】:

    • 菜单选项是常规而不是“生成”来清除缓存
    • 似乎不适用于 R# 9.2 的 .NET Core 项目?尝试关闭和重新打开项目,然后 VS... 编辑:它现在可以工作了!出于某种原因,它必须重新启动两次才能正常工作!
    • 谢谢!这是使用 VS 2017 Professional 对我有用的唯一解决方案。
    【解决方案5】:

    当您的解决方案中有同一个库的两个不同版本时,ReSharper 会发生这种情况。例如项目 A 引用 automapper 1.1 版,项目 B 引用 automapper 1.0 版。

    Visual Studio 通常会在这种情况下按预期编译和运行,因为它会选择要绑定到的 DLL 之一。然而,ReSharper 变得非常困惑。对我来说,这应该是一个 ReSharper 错误,它要求您解决,而不仅仅是发疯。

    更新:

    我在两天前(我发表这篇文章的第二天)完全巧合地遇到了这个问题,并遇到了这个link,他们说这是由 VS API 中的错误引起的。我尝试了他们推荐的所有方法,但即使是暂时也无法解决:我有从 google.code 下载的 Autofac 2.6.x,然后将其换成 NuGet 包版本,它故意拒绝看到新的参考号不管我做了什么。

    他们建议安装R# 8 EAP,但对我来说,只需降级到旧版本的 Autofac 就不那么麻烦了。

    帮助不大,但也许有用。

    【讨论】:

    • 我用关于错误程度的附加信息编辑了我的问题。 1 个月前,我将我的 vs 2012 RC 更改为 vs 2012 RTM 并且发生了这个错误(我的项目没有任何变化)。现在,您的建议是什么?
    • 您是否尝试过删除所有引用然后重新添加它们(您可能指向旧的 DLL,这会使 R# 感到困惑)。
    • 我意识到我的 Visual Studio 也有更大的问题:我无法添加对我的项目的任何引用(即使在新解决方案和新项目中),更多信息:stackoverflow.com/questions/15746529/…
    • 在接受的答案不起作用后,这让我朝着正确的方向前进。对我来说,有问题的图书馆有可用的更新。我正计划删除它然后重新添加它,但我看到了更新并首先尝试了它。更新库后,问题自行解决。
    • 这个答案帮助我解决了类似的情况。我在我的 project.json 文件中引用了 AspNetCore.Mvc 版本 1.0.0 rc final,这导致了 OP 看到的问题。我回到 project.json 文件并将版本更改为 1.0.0 解决了问题
    【解决方案6】:

    Visual Studio 2015 和 ReSharper Ultimate 10.0.2 发生在我身上。我尝试了几乎所有在此答案之前编写的解决方案(除了任何重新安装),但没有任何效果。

    我按照非常特定的顺序执行了上述各种步骤,让它再次工作:

    1. ReSharper → 选项 → 环境 → 常规 → 清除缓存
      • 这必须在暂停 ReSharper 之前完成,否则此选项不可用
      • 这会清除 C:\Users\YourUsername\AppData\Local\JetBrains\Transient\ReSharperPlatformVs14\v04 中的文件,如其他帖子中所述
    2. 工具 → 选项 → ReSharper Ultimate → 暂停
    3. 关闭 Visual Studio
      • 这实际上执行了 ReSharper 缓存清除
    4. 打开 Visual Studio
    5. 打开解决方案
      • 我等待 Visual Studio 检测到 IntelliSense 中没有代码问题,此时可能已执行构建。
    6. 工具 → 选项 → ReSharper Ultimate → 恢复

    希望在完成最后一步之后您可以松一口气,因为您不必重新安装任何东西,我当然做到了!

    【讨论】:

    • 这也发生在 Visual Studio 15 Preview 和 Resharper 中。这些步骤为我解决了这个问题(希望它不会很快回来)。谢谢!
    • VS 2017 在这里。这是清除缓存;关闭VS并重新启动;暂停 Resharper 并关闭 VS;在解决方案中重新启动 VS,然后启动为我完成的 Resharper。
    • 清除缓存并重启项目解决了这个问题。谢谢!
    【解决方案7】:

    这通常是由于配置文件损坏或错误检测而发生的。 只需删除 .vs 文件夹,重启 VS 即可重置配置。它几乎可以工作

    【讨论】:

      【解决方案8】:

      我遇到了类似的问题并清除了在以下位置找到的缓存:

      AppData\Local\JetBrains\ReSharper\v7.1\SolutionCaches

      帮我解决了问题

      运行 VS2012 u3

      【讨论】:

      • 我做了类似的事情,我只是删除了整个 AppData\Local\Jetbrains 目录。我在那里有很多不同的版本,包括一些比我当前安装的 resharper 更新的版本。
      【解决方案9】:

      我遇到了同样的问题(VS 2017)。在我的情况下,它是不同版本的目标框架 - 一个程序集针对 4.52,另一个 4.62 - 在两个程序集中将它们设置为相同版本后,它又开始工作了。

      【讨论】:

      • 难以置信,这也是我遇到问题的原因。我不敢相信......这肯定会得到更多的支持。
      • 同意也帮了我
      • 目标对我解决此问题没有任何影响。
      • 同意上述观点,尤其是当您在“错误列表”窗口中收到警告,告诉您这是问题所在时。人们应该在摆弄 Resharper 之前检查一下。
      • 谢谢米克拉伊。同样的问题。
      【解决方案10】:

      以上清除缓存和/或暂停 ReSharper 的链接对我不起作用。我只是从解决方案资源管理器中“刷新”了显示此问题的项目,问题就消失了。可悲的是,它一直在重复出现,并且只能选择在每次出现此问题时继续刷新。

      我在 Windows 8 上安装了带有 ReSharper 8.1 的 VS2012

      【讨论】:

      • 如何“刷新”项目?
      • 在解决方案资源管理器中右键单击项目 -> 刷新
      • 这也为我解决了 VS2017 和 R# 20127.3 EAP 9 的问题
      • 刷新对我来说根本没有解决这个问题。
      【解决方案11】:

      如您所见,解决方案就是大家已经提到的 - 只需暂停 ReSharper,然后清除缓存,最后恢复它。但是,没有人提到如何在不关闭/重新启动 Visual Studio 的情况下执行此操作。

      只需按照以下步骤:

      1. 获取 ReSharper 缓存位置

        • 手动,转到 ReSharper 选项 > 环境 > 常规 > 将解决方案缓存存储在(组合框)中(在图像中标记为 2)。选择自定义文件夹,然后从显示的文本框中复制缓存文件夹的位置(在图像中标记为 3)。恢复设置。标记的 1 表示 ClearCache 按钮。它通常不会起作用,所以离开它。
      2. 暂停 ReSharper

        • 您可以通过转到工具 > 选项 > ReSharper 或 ReSharper Ultimate > 立即暂停(按钮) 来执行此操作
      3. 清除缓存

        • 转到之前在步骤 1 中复制的位置,然后删除该文件夹中的所有内容。是的,我的意思是一切。
      4. 恢复 ReSharper

        • 您可以通过再次转到工具 > 选项 > ReSharper 或 ReSharper Ultimate > 恢复(按钮) 来执行此操作

      【讨论】:

      • 谢谢!这实际上是唯一对我有用的东西。这些天,Resharper 开始成为一个问题而不是解决方案......如此缓慢和错误......
      • 所有这些都没有解决问题。删除 Reshaper 解决了问题
      【解决方案12】:

      我在 Visual Studio 2013 中使用 ReSharper 8.2 时遇到了同样的问题,这里清除缓存、暂停 ReSharper 或重新安装 ReSharper 的常用解决方案都不起作用。

      在我的情况下,我最终解决了它如下...我查看了它无法解决的符号之一,并注意到它在System.Web.Http.dll 中。然后我发现这是在Microsoft.AspNet.WebApi.Core NuGet 包中。我使用包管理器控制台尝试卸载该包,当然它告诉我由于其他依赖项而无法卸载。

      所以我卸载了包括Microsoft.AspNet.WebApi.Core 在内的每个依赖项,然后以相反的顺序重新安装了每个包。 ReSharper 在安装时正确拾取了所有内容,现在看起来很好。

      【讨论】:

      • 也为我工作。只需卸载项目的 nuget 包,然后重新安装即可。
      • 这些都不适合我,尤其是在玩 web api 时。什么都没做
      • 我要做的最后一件事是删除项目的依赖项以使编写不佳的应用程序正常工作。我选择删除 resharper。问题解决了,VS 现在更快了。
      【解决方案13】:

      我遇到了同样的问题,卸载和重新加载有问题的项目帮助我为 ReSharper 清除了这个问题。希望这会有所帮助。

      【讨论】:

      • 更新 VS、更新 resharper、自动和手动清除缓存以及暂停 resharper 对我没有帮助。这不是一个更清晰的问题,它可能是一个 VS 错误。这对我有用。谢谢。
      • 这什么都没做。很像“刷新”,它什么也没做。
      【解决方案14】:

      我最终需要请求 Resharper 清除其缓存,并通过 Windows 文件资源管理器手动执行此操作。这终于为我解决了这个问题。

      1. (正如这里的许多解决方案所报告的)RESHARPER > 选项... > 环境 > 常规 > 清除缓存。
      2. 关闭 Visual Studio。
      3. 在 Visual Studio 2015 的 Resharper 10 的文件资源管理器中转到此路径:%localappdata%\JetBrains\Transient\ReSharperPlatformVs14
      4. 删除该文件夹中的所有子文件夹及其内容。
      5. 重新启动 Visual Studio,重新加载您的解决方案并等待 Resharper 为解决方案自行初始化。

      【讨论】:

        【解决方案15】:

        对于 VS2015 的我来说,我必须更新 Resharper 到版本 2016.2.2 来解决问题。

        我已经尝试过(其中没有一个对我有用):

        • 暂停/恢复
        • 暂停/清除缓存(使用工具 > 选项按钮)/恢复
        • 暂停/清除缓存(使用 Windows 文件系统)/恢复
        • 将缓存移动到解决方案文件夹/重新启动 Visual Studio
        • 以上全部或部分的许多其他组合

        我希望这可以帮助某人。

        【讨论】:

        • 这只是其他选项的复制粘贴。所有人都没有解决问题。
        • @Mike - 请随时链接到建议将 R# 更新到 2016.2.2 的“其他”帖子,因为我看不到它。
        【解决方案16】:

        Resharper -> 选项 缓存 -> 将解决方案缓存存储在:(将文件夹更改为另一个)。

        或者尝试手动清理R#缓存文件夹

        【讨论】:

          【解决方案17】:

          我使用的是 7.1,这对我有用:

          1. 卸载 resharper
          2. 转到 %appdata% 并删除 JetBrains\Resharper 和 ..\Local\JetBrains\Resharper 文件夹
          3. 重新安装 resharper

          【讨论】:

            【解决方案18】:

            我做了上面的所有事情,没有修复。

            然后我从另一个 SO Q/A(不记得是哪一个)做了一个步骤,将 System.Web.Mvc 设置为 Copy Local true。重新编译我的项目,错误就消失了。

            当我将此程序集设置回 Copy Local false 时,错误没有返回。

            【讨论】:

              【解决方案19】:

              我的情况,我尝试了上面的所有建议。 但是,在某个时候,我意识到即使 Resharper 被暂停,问题仍然存在。 因此,我在 VS 本身中寻找了类似的问题,并在 cmets 中找到了this SO post 中接受的答案的解决方案。

              为了简洁起见,我列出了我的步骤。

              1. VS -> 工具 -> 选项 -> ReSharper 挂起按钮
              2. 构建解决方案。请注意所有引用仍未解决
              3. 清理解决方案
              4. 重启VS
              5. 在没有 Resharper 的情况下构建解决方案。请注意所有引用均已解决
              6. VS -> 工具 -> 选项 -> ReSharper 恢复按钮

              【讨论】:

                【解决方案20】:

                没有一个缓存清理对我有用。在启用 R# 的情况下,我们的任何私有 NuGet repro 中的所有符号都停止被拾取,非常令人沮丧。 在切换并重新启动 VS2019 后,我从 JetBrains 支持人员那里得到了这个反馈,它确实有效:

                禁用以下选项 - ReSharper |选项 |环境 |一般 |直接读取解模型

                【讨论】:

                • 终于,经过数小时的痛苦,一个有效的答案!!!谢谢...
                • 感谢这个有用的提示。对我来说很棒..
                【解决方案21】:

                我正在使用 VS2015,R#10。建议的解决方案都不适合我。我删除了解决方案的 bin 文件夹的内容并重建了整个解决方案,这似乎已经解决了问题。在删除 bin 文件夹的内容之前,我曾尝试暂停和恢复 R#,从 R# -> 选项 -> 常规设置清除缓存,并手动删除 \AppData\Local\JetBrains\Transient\ReSharperPlatformVs12\ 中的内容v01\SolutionCaches .. 希望对某人有所帮助。

                【讨论】:

                  【解决方案22】:

                  我在使用 Resharper Ultimate 的 Visual Studio 2015 中遇到了同样的问题,并尝试了上面建议的解决方案,但没有一个对我有用。

                  然后将 Resharper 升级到最新版本解决了我的问题。

                  【讨论】:

                  • 是的,我也得出了同样的结论。不幸的是,我的 R# 订阅已用完,这意味着我必须再支付 400-500 美元才能升级我的 R# 版本以修复错误...
                  【解决方案23】:

                  在上面的几个建议没有帮助之后,对我的情况有什么帮助:

                  • 删除了一个项目引用(ReSharper 声称即使正确引用也无法找到它的库之一)。
                  • 在其中一种用法上使用 ReSharper 的“Resolve”再次添加引用。

                  之后,它工作正常,即使在此过程中实际上没有修改任何项目文件。

                  【讨论】:

                    【解决方案24】:

                    我有同样的问题。清理 Resharper 缓存和暂停 Resharper 对我不起作用。我只是关闭 Visual Studio,卸载 Resharper,然后安装 Resharper,问题就消失了。

                    【讨论】:

                      【解决方案25】:

                      我引用了一个未被 R# 识别的 NetStandard2.0 项目。 我清除了缓存,但这对我没有帮助。

                      下载最新版本并更新 R#对我有用

                      这是我现在正在运行的版本:

                      JetBrains ReSharper Ultimate 2017.3.2  Build 111.0.20180201.63358
                      ReSharper 2017.3.20180201.111630
                      

                      只需download R#,它就会识别已安装的版本。更新到最新版本真的很容易。

                      【讨论】:

                        【解决方案26】:

                        当我禁用 ReSharper 时,Visual Studio 也会出现同样的错误,即使项目构建成功。我为解决这个问题所做的是:

                        1. 从解决方案中删除项目。
                        2. 右键单击解决方案,添加现有项目,选择项目文件并再次添加。

                        执行这些步骤后,Visual Studio 中的语法错误消失了,我再次启用 ReSharper 后,它也没有错误。

                        【讨论】:

                        • 我的错误都是与单个 nuget 包相关的引用。我删除并重新添加了包。错误消失了。谢谢指点。
                        【解决方案27】:

                        我也有这个问题。以前的所有解决方案都对我没有帮助或帮助了很短的时间。 就我而言,问题是我将 .Net Framework 4.7.2 项目连接到版本为 4.5.2 的项目。在我将两个项目都更新到 4.7.2 后,问题就解决了。 我认为要解决问题,您需要拥有相同版本的项目。或者将较小的版本连接到较大的版本,但反之则不然,就像我的情况一样。

                        【讨论】:

                        • 这不是@Mikołaj Mularczyk 在他的回答中已经建议的解决方案吗?
                        【解决方案28】:

                        在 Rider 2020.3 中,我只是做了一个 Build -> Clean,然后它就起作用了。

                        【讨论】:

                          【解决方案29】:

                          对我来说,当我更改本地 Git 存储库的哪个分支时,我认为我的解决方案陷入了一种奇怪的状态。只需切换到问题开始之前我所在的上一个分支,告诉 VS 重新加载所有文件,然后切换回所需的分支并再次重新加载即可修复它。

                          【讨论】:

                            【解决方案30】:

                            我们也看到了这个问题,具体到多个项目共享的文件。编辑器窗口左上角有一个组合框,可让您切换文件的项目上下文(以及影响符号分辨率的引用)。

                            Resharper 很容易通过其“转到文件或符号”命令意外打开共享文件的错误“版本”。

                            将上下文切换回我在解决方案中使用的项目是解决此问题所需要做的一切。

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 2019-01-26
                              • 1970-01-01
                              • 1970-01-01
                              • 2018-08-04
                              • 2017-03-23
                              • 1970-01-01
                              • 2012-12-09
                              相关资源
                              最近更新 更多