ReSharper即使在项目构建时也“无法解析符号”

时间:2013-03-29 23:45:49

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

我的工具:

Visual Studio 2012 Ultimate + Update 1

ReSharper v7.1.25.234

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

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

“无法解析符号XXX”

Enter image description here


我项目的另一张图片>>

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

Enter image description here

附加说明:如果我禁用ReSharper Code Analysis,我的项目将为Normal,但我想使用ReSharper代码分析。


我尝试了 ReSharper→选项常规清除缓存。但我仍然有这个问题!


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

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

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


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

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

  • 我无法安装任何软件包(通过“Packet Manager Console”或“管理NuGet软件包”)

  • 我无法更新任何软件包(通过“Packet Manager Console”或“管理NuGet软件包”)

我已经做了很多建议(我自己和其他人)

  • 重新部署一些DLL文件

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

  • 删除ReSharper

  • 修复Visual Studio

  • 和...

但我无法解决它。

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


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

38 个答案:

答案 0 :(得分:681)

尝试Visual Studio→菜单工具选项 ReSharper 暂停按钮和恢复< / kbd>再次(无需关闭窗口)。这适用于我的情况。

答案 1 :(得分:223)

VS -> Tools -> Options -> ReSharper Suspend button 
Clear Contents of -> AppData\Local\JetBrains\ReSharper\v7.1\SolutionCaches
VS -> Tools -> Options -> ReSharper Resume  button

答案 2 :(得分:116)

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

  1. Resharper&gt;选项&gt;环境:一般&gt;清除缓存
  2. 重新启动Visual Studio

答案 3 :(得分:29)

Clear Resharper cache:Resharper - &gt;选项 - &gt;一般 - &gt;清除缓存,关闭并重新打开解决方案。它适用于R#9.0 Update 1

答案 4 :(得分:29)

当您的解决方案中有两个不同版本的同一个库时,会在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并不那么麻烦。

没有多少帮助,但也许有用。

答案 5 :(得分:17)

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→恢复
  7. 希望在最后一步之后,您可以松一口气,不必重新安装任何东西,我当然做到了!

答案 6 :(得分:13)

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

应用程序数据\本地\ JetBrains的\ ReSharper的\ V7.1 \ SolutionCaches

解决了我的问题

运行VS2012 u3

答案 7 :(得分:12)

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

enter image description here

答案 8 :(得分:9)

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

我在Windows 8上安装了VS2012和ReSharper 8.1

答案 9 :(得分:8)

我在Visual Studio 2013中遇到了与ReSharper 8.2相同的问题,此处没有通常的清除缓存,暂停ReSharper或重新安装ReSharper的解决方案。

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

因此,我将每个依赖项卸载到Microsoft.AspNet.WebApi.Core并包括{{1}},然后以相反的顺序重新安装每个程序包。 ReSharper在安装时正确选择了一切,现在看起来很好。

答案 10 :(得分:8)

我有同样的问题(VS 2017)。在我的例子中,它是不同版本的目标框架 - 一个目标框架为4.52,另一个为4.62 - 在两个程序集中将它们设置为相同版本后,它再次开始工作。

答案 11 :(得分:6)

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

答案 12 :(得分:5)

您看到的解决方案就是上面每个人都已经提到的。只需挂起重新打包程序,然后清除缓存,最后恢复即可。但是,没有人提到如何关闭/重新启动VisualStudio。

只需按照以下步骤

  1. 获取Resharper缓存位置

    • 手动,方法是转至“ Reharper选项”>“环境”>“常规”>“将解决方案存储在(组合框)中”(在图像中标记为 2 )。选择自定义文件夹,然后从显示的文本框中(图像中标记为 3 复制文件夹的位置。还原设置。标记为1的标记显示 ClearCache按钮。通常是行不通的,所以就离开吧。 Image showing the stuff
  2. 暂停转储
    • 您可以通过以下方法执行此操作:转到“工具”>“选项”>“ Resharper或Resharper Ultimate”> 立即暂停(按钮) Resharper Suspend Option
  3. 清除缓存

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

    • 您可以再次执行以下操作:转到“工具”>“选项”>“ Resharper或Resharper Ultimate”> 恢复(按钮)

答案 13 :(得分:5)

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

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

答案 14 :(得分:4)

对于我 VS2015 ,我必须更新Resharper 到版本 2016.2.2 才能解决此问题。

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

  • 暂停/恢复
  • 暂停/清除缓存(使用工具&gt;选项按钮)/恢复
  • 暂停/清除缓存(使用Windows文件系统)/恢复
  • 将缓存移至解决方案文件夹/重新启动visual studio
  • 上述全部或部分内容的许多其他组合

我希望这可以帮助别人。

答案 15 :(得分:3)

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

我为了简洁而列出了我的步骤。

  1. VS - &gt;工具 - &gt;选项 - &gt; ReSharper暂停按钮
  2. 构建解决方案。请注意所有引用仍未解决
  3. 清理解决方案
  4. 重启VS
  5. 在没有Resharper的情况下构建解决方案。注意所有参考文献已解决
  6. VS - &gt;工具 - &gt;选项 - &gt; ReSharper简历按钮

答案 16 :(得分:3)

我做了以上所有事情而没有修复。

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

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

答案 17 :(得分:2)

我正在使用7.1,这对我有用:

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

答案 18 :(得分:1)

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

答案 19 :(得分:1)

在上述几条建议之后没有对我的案例有所帮助:

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

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

答案 20 :(得分:1)

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

答案 21 :(得分:1)

我有同样的问题.Clean Resharper缓存和Suspend Resharper对我不起作用。我关闭Visual Studio,卸载Resharper,然后安装Resharper,问题就消失了。

答案 22 :(得分:0)

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

Resharper可以通过“转到文件或符号”命令轻松地意外打开共享文件的错误“版本”。

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

答案 23 :(得分:0)

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

<块引用>

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

答案 24 :(得分:0)

在 Rider 2020.3 中,我只是做了一个 Build -> Clean,然后就成功了。

答案 25 :(得分:0)

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

答案 26 :(得分:0)

我遇到了同样的问题,即项目可以正常编译(即使在清理并构建之后),但是intellisense抱怨缺少引用。

我尝试了删除缓存和禁用重新共享器的所有操作,但是没有任何效果。最后,我意识到只有一个项目参考显示出智能错误。

我的解决方案是简单地删除对该项目的引用,然后再次添加它。此后一切都按预期工作。

答案 27 :(得分:0)

当我禁用ReSharper时,即使项目成功构建,Visual Studio也会给出相同的错误。我为解决该问题所做的事情是:

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

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

答案 28 :(得分:0)

我有一个类似的问题。就我而言,对于Windows,项目路径的长度太长(超过248个字符)。

我的解决方案在VS 2017中可以编译,但是ReSharper找不到引用。有趣的是,即使构建成功,我也会在“错误窗口”中出现错误:

Severity Code Description Project File Line Suppression State Error MSB3491 Could not write lines to file "obj\Debug\netcoreapp2.1\My.Long.Path.Project.Name.csproj.CoreCompileInputs.cache". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. My.Long.Path.Project.Name C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 3430

所以我缩短了项目路径,ReSharper工作正常。

答案 29 :(得分:0)

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

为我下载最新版本并更新R#确实有用

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

JetBrains ReSharper Ultimate 2017.3.2  Build 111.0.20180201.63358
ReSharper 2017.3.20180201.111630

只需download R#即可识别已安装的版本。更新到最新版本非常简单。

答案 30 :(得分:0)

我多次尝试了上述所有解决方案,但没有一个对我有用。我在使用Visual Studio 2015和ReSharper 9.0。

我能够通过升级到ReSharper 9.2来解决这个问题。如果您已经拥有主要版本的最新更新,可能重新安装ReSharper可能会为您解决此问题。我建议先清除ReShaper缓存,以防万一。

以下是ReSharper存档版本的链接: https://resharper-support.jetbrains.com/hc/en-us/articles/207242355-Where-can-I-download-an-old-previous-ReSharper-version-

答案 31 :(得分:0)

我只是想报告我的解决方案,以防任何人遇到与我类似的情况。我有Visual Studio 2013更新5和ReSharper 8.2.3。我的项目是ASP.NET MVC 5。

通常情况下,我擅长不断更新扩展程序包。就在最近,我发现我的所有观点都是红色并显示“无法解析视图xxxx”。我尝试了清除缓存并暂停ReSharper并恢复ReSharper解决方案,但是一旦我构建项目,错误就会恢复。

我检查了我的ReSharper扩展,然后我卸载了resharper.ExternalAnnotations包(8.2.3005)并从库中重新安装了以前的版本(8.2.3000.5176)。 这似乎解决了我的问题。

答案 32 :(得分:0)

我还看到ReSharper中报告的类似问题没有导致编译/运行时错误。

这些主要是在使用"{x:Type ...}""{x:Static ...}"标记时出现,导致ReSharper报告"Cannot resolve symbol 'Type'""Cannot resolve symbol 'Static'"错误。

此外还有许多错误,例如"Invalid markup extension type: expected type is '<type>', actual type is '...Extension'"

当我添加对System.Xaml程序集的引用时,问题自行解决了。

答案 33 :(得分:0)

对我来说,检查解决方案给了我数百个错误,其中包括许多错误,无法在搜索路径中找到文件&#34;。我尝试了所有的建议来修复它,但没有一个有效。我最终发现检查项目而不是解决方案,工作得很好。

答案 34 :(得分:0)

没有软缓存删除解决方案对我有用,看起来这些年来安装的不同RS版本之间会产生问题。

对我有用的是:

  • 卸载resharper
  • 删除AppData \ Local中的所有JetBrains文件夹 和AppData \ Roaming
  • 再次安装resharper

所有设置都需要重做等等,但即使有JetBrains团队的帮助,我也无法获得更好的解决方案。

答案 35 :(得分:0)

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

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

答案 36 :(得分:0)

这应该是与Resharper缓存相关的问题,但据我所知,“清除缓存”功能仅在缓存位于解决方案文件夹中时才有效。 要检查试试这个: Visual Studio&gt;工具&gt;选项&gt; Resharper&gt;选项......

在Resharper选项窗口中&gt;环境&gt;一般 检查“存储解决方案缓存”,它设置为“解决方案文件夹”

在解决方案文件夹中,您应该看到一个新文件夹“_ReSharper.Caches”。您应该可以通过按“清除缓存”按钮清除它,但是(如果这不起作用)您可以通过删除内部文件手动清理(在这种情况下,Visual Studio已经关闭)。

重新启动Visual Studio,一切都应该有效。 看看这里[1]

[1] https://resharper-support.jetbrains.com/hc/en-us/articles/206546989-ReSharper-stopped-working-for-a-single-specific-solution

注意:Visual Studio 2015 Update 1 / ReSharper 10.0.2

答案 37 :(得分:-9)

我测试了此页面中其他答案的所有 (在撰写此答案之前),例如:

  
      
  1. VS - &gt;工具 - &gt;选项 - &gt; ReSharper 暂停按钮和恢复

  2.   
  3. 清除ReSharper缓存

  4.   
  5. 和其他人

  6.   

但不幸的是,他们都没有解决我的问题。也许我的问题比你的问题复杂。我在问题的 EDITs 中说过他们,然后以下答案是正确的解决方案对我来说,但也许其他答案可以解决您的问题。请先测试一下。

我被迫重新安装我的操作系统并使用更新版本的工具。 :(

现在我使用VS 2013 + R#v8,当我对我的resharper有任何问题时,我只是尝试以下指示并它解决我的问题

  

VS - &gt;工具 - &gt;选项 - &gt; ReSharper暂停按钮和恢复