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


484

我的工具:

Visual Studio 2012旗舰版+更新1

ReSharper v7.1.25.234

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

但是,当我安装ReSharper并启用了ReSharper代码分析时,我的代码中的许多关键字都是红色的,并显示以下错误:

“无法解析符号XXX”

在此处输入图片说明


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

ReSharper“无法解析符号”错误无处不在,但是我的项目构建过程已成功完成,并且可以正常工作。

在此处输入图片说明

附加说明:如果禁用ReSharper代码分析,则我的项目将为“正常”,但我想使用ReSharper代码分析。


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


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

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

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


我意识到我的Visual Studio还存在更大的问题 (有关堆栈溢出的更多信息)

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

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

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

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

  • 重新重置一些DLL文件

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

  • 删除ReSharper

  • 修复Visual Studio

  • 和...

但是我无法解决。

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


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


4
我曾经遇到过同样的问题。必须取消安装并重新安装。
MeTitus

@Marco,我已经卸载并重新安装了它。但是还没有解决。
RAM

这是因为Automapper红色,您应该检查一下
IamStalker

2
以下任何解决方案都可以暂时使用。该问题总是会再次出现,如果您还使用TFS进行版本控制,则该问题尤其严重。来自JetBrains的沉默和过去一年缺乏更新,使我认为他们懒惰地骑着R#钱火车。
Yuck

2
就我而言,这里的答案都没有奏效。我也得到了Jetbrain的支持,但是他们还无法提供帮助。我只需要暂时禁用Resharper。问题跟踪在这里
Co7e

Answers:


725

再试一次Visual Studio→菜单工具选项ReSharperSuspend按钮Resume(无需关闭窗口)。这对我来说有效。


3
在带有Resharper 7.1.3的VS2012 Update 3上,这不能解决我的问题。卸载Resharper并重新安装已为我修复。
LordHits

93
这对我不起作用,但是清除ReSharper缓存可以解决此问题。
控制台

16
我必须清除缓存并暂停ReSharper VS2012更新4和R#7.1
moi_meme 2013年

17
这对我也不起作用,但是卸载/重新加载项目却可以:右键单击项目->卸载项目,然后再次右键单击->重新加载项目。
biscuit314 2014年

6
具有清除缓存的相同解决方案(在某些情况下是必需的):stackoverflow.com/a/19772172/2387977
Dherik 2014年

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

73
您可以执行Resharper>选项>环境>常规单击“清除现金”,然后重新启动VS。泰的答案,帮助了我。
约翰·拉尔森

3
这对我
有用

2
清除缓存对我不起作用。删除了SolutionCaches文件夹的内容。
JayJay 2015年

7
这对我来说可以解决烦人的“无法解决方法”警告。此外,对于VS2013中的“锐角9”而言,路径为\AppData\Local\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches
spinalfrontier

11
再次添加一下,这次是针对Visual Studio 2015中的Resharper 10,路径为%localappdata%\ JetBrains \ Transient \ ReSharperPlatformVs14。我在那里有v02,v03和v04子文件夹-我删除了所有它们及其内容。
StackOverflowUser 2015年

124

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

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

31

当您的解决方案中有相同库的两个不同版本时,在ReSharper中会发生这种情况。例如,项目A引用了自动映射器版本1.1,而项目B引用了自动映射器版本1.0。

Visual Studio通常会选择一种要绑定的DLL,在这种情况下通常会按预期进行编译和运行。但是ReSharper引起了极大的困惑。对我来说,这应该是一个ReSharper错误,它要求您解决而不是简单地玩弄。

更新:

我是在两天前(写这篇文章的第二天)碰巧碰到的,碰到了这个链接,他们说这是VS API中的错误引起的。我尝试了他们推荐的所有方法,甚至暂时无法解决:我从google.code下载了Autofac 2.6.x,然后将其换成NuGet软件包版本,因此它故意拒绝查看新的参考号。不管我做什么。

他们建议安装R#8 EAP,但对我而言,只需降级到旧版本的Autofac便省事了。

帮助的方式不多,但可能有用。


我用有关错误程度的其他信息编辑了我的问题。1个月前,我将vs 2012 RC更改为vs 2012 RTM,并且发生了此错误(我的项目没有任何更改)。现在,您有什么建议?
RAM

1
您是否尝试过删除所有引用,然后重新添加它们(您可能指向旧的DLL,这使R#感到困惑)。
satnhak

我意识到我的Visual Studio还存在更大的问题:我无法对我的项目添加任何引用(即使在新解决方案和新项目中),更多信息:stackoverflow.com/questions/15746529/…–
RAM

在接受的答案无效后,这使我朝着正确的方向前进。对我来说,有问题的图书馆有可用的更新。我打算删除它,然后再次将其重新添加,但是我看到了更新并首先尝试了该更新。更新库后,问题就解决了。
c0r3yz 2015年

这个答案也帮助我解决了类似的情况。我在project.json文件中引用了AspNetCore.Mvc版本1.0.0 rc final,这导致了OP看到的问题。我返回到project.json文件,并将版本更改为1.0.0,从而解决了该问题
WBuck

31

清除Resharper缓存:Resharper-> Options-> General-> Clear Caches,关闭并重新打开解决方案。它在R#9.0 Update 1中有效


菜单选项是“常规”而不是“生成”以进入清除缓存
Kirsten Greed

在R#9.2的.NET Core项目中似乎不起作用?尝试关闭并重新打开项目,以及VS ...编辑:现在可以使用!由于某种原因,必须重新启动两次才能起作用!
user3791372

谢谢!这是使用VS 2017 Professional对我有效的唯一解决方案。
皮特

27

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→恢复

希望在最后一步之后您可以放心,您不必重新安装任何东西,我当然做到了!


1
Visual Studio 15 Preview和Resharper也会发生这种情况。这些步骤为我解决了这个问题(希望很快不会回来)。谢谢!
jporcenaluk's

VS 2017在这里。这是清除缓存;关闭VS并重新启动;暂停Resharper并关闭VS;在解决方案中重新启动VS,然后启动为我完成的Resharper。
RandomHandle

17

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

在此处输入图片说明


这对我
有用

没有为我工作
Blechdose

13

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

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

为我解决了问题

运行VS2012 u3


我做了类似的事情,只是删除了整个AppData \ Local \ Jetbrains目录。我在那里有很多不同的版本,其中包括一些比我当前的Resharper安装新的版本。
benstpierre

没有为我解决问题。
迈克,

12

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


4
令人难以置信的是,这也是我遇到问题的原因。我不敢相信...这肯定会得到更多支持。
Thomas Flinkow

同意也帮助了我
eljoe

目标对我解决此问题没有影响。
麦克,

1
同意以上内容,尤其是当您在“错误列表”窗口中收到警告,告诉您这是问题所在时。人们应该在摆弄Resharper之前检查一下。
艾迪

谢谢Mikolaj。这里同样的问题。
Firoz Jafri

10

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

我在Windows 8上具有VS2012和ReSharper 8.1


您如何“刷新”项目?
persianLife '16

右键单击解决方案资源管理器中的项目->刷新
user1127860,2016年

VS2017和R#20127.3 EAP 9也为我解决了这个问题
Jan Ivar Z. Carlsen

刷新对我来说根本没有任何帮助。
迈克,

8

我在Visual Studio 2013中遇到了与ReSharper 8.2相同的问题,这里的清除缓存,挂起ReSharper或重新安装ReSharper的通常解决方案均无效。

在我的情况下,我最终如下解决了问题……我查看了它无法解析的符号之一,并指出它在中System.Web.Http.dll。然后,我发现它在Microsoft.AspNet.WebApi.CoreNuGet包中。我使用了程序包管理器控制台来尝试并卸载该程序包,当然它告诉我它不能归因于其他依赖项。

因此,我卸载了每个依赖,直到并包括Microsoft.AspNet.WebApi.Core,然后以相反的顺序重新安装了每个软件包。ReSharper在安装时正确地拾取了所有内容,现在看起来还不错。


也为我工作。只需卸载该项目的nuget软件包,然后重新安装它们即可。
ceetheman 2014年

这些都不对我有用,尤其是使用Web api时。什么也没做
Mike

我要做的最后一件事是删除项目的依赖关系,以使编写不良的应用程序正常工作。我选择删除转发器。问题解决了,VS现在更快了。
麦克,

8

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

只需按照以下步骤操作:

  1. 获取Resharper缓存位置

    • 通过转到“ Reshaper选项”>“环境”>“常规”>“将解决方案捕获存储在(组合框)中”(在图像中标记为2)进行手动设置。选择自定义文件夹,然后从显示的文本框中复制 Catches文件夹的位置(图像中标记为3)。还原设置。标记1表示ClearCache按钮。通常是行不通的,所以就离开吧。 该图显示了这些东西
  2. 悬挂式剃须刀
    • 您可以通过以下方法执行此操作:转到“工具”>“选项”>“ Resharper或Resharper Ultimate”>“ 立即暂停”(按钮) 重新共享暂停选项
  3. 清除缓存

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

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

谢谢!从字面上看,这是唯一对我有用的东西。这些天来,Resharper开始成为更多的问题,而不是解决方案....如此缓慢且有故障....
Tor

所有这些都无法解决问题。删除整形器可解决问题
Mike

6

我遇到了同样的问题,而卸载和重新加载有问题的项目帮助我为ReSharper解决了这个问题。希望这可以帮助。


更新VS,更新重新共享工具,自动和手动清除缓存以及暂停重新共享工具并没有帮助我。这不是一个棘手的问题,它可能是VS错误。这对我有用。谢谢。
Milad

这什么也没做。很像“刷新”,它也什么也没做。
麦克,

6

对于VS2015来说,我必须将Resharper更新2016.2.2版本才能解决该问题。

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

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

希望对您有所帮助。


这只是这些选项的复制粘贴。所有人都没有解决问题。
迈克,

@Mike-请随时链接到“其他”文章,该文章建议将R#更新为2016.2.2,因为我看不到它。
Dib

5

我最终需要请求Resharper清除其缓存,以及通过Windows File Explorer手动进行缓存。终于为我解决了这个问题。

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


3

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

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

3

我没有修复就完成了以上所有操作。

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

当我将该程序集重新设置为Copy Local false时,错误未返回。


3

就我而言,我尝试了以上所有建议。但是,在某个时候,我意识到即使Resharper被暂停,问题仍然存在。因此,我在VS本身中寻找类似的问题,并在此SO post的注释中找到了解决方案。

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

  1. VS->工具->选项-> ReSharper挂起按钮
  2. 构建解决方案。注意所有引用仍未解决
  3. 清洁溶液
  4. 重启VS
  5. 无需Resharper即可构建解决方案。注意所有引用已解决
  6. VS->工具->选项-> ReSharper恢复按钮

1

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


1

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

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


是的,我也得出了相同的结论。不幸的是,我的R#订阅已用完,这意味着我必须再花$ 400- $ 500才能升级我的R#版本以修复错误...
WBuck

1

经过上述几个建议后,对我而言没有帮助的是:

  • 删除了一个项目引用(ReSharper声称即使正确引用也无法找到其中一个库)。
  • 使用ReSharper的“解决”功能之一重新添加引用。

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


1

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


1

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

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

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


我的错误是所有与单个nuget包相关的参考。我删除并重新添加了程序包。错误消失了。感谢您的指导。
Brett

1

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


这不是@MikołajMularczyk在他的答案中已经建议的解决方案吗?
罗宾B

0

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


0

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

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

解决此问题只需要将上下文切换回解决方案中使用的项目即可。


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程序集的引用时,问题自行解决。


0

没有适用于我的软缓存删除解决方案,这些年来安装的不同RS版本之间似乎出现了问题。

对我有用的是:

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

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


0

这应该是与Resharper缓存有关的问题,但据我所知,“清除缓存”功能仅在您的缓存位于“解决方案文件夹”中时有效。要进行检查,请尝试以下操作:Visual Studio>工具>选项> Resharper>选项...

在“ ReSharper选项窗口”>“环境”>“常规”中,检查“存储解决方案缓存在”中是否设置为“解决方案文件夹”

之后,在解决方案文件夹中,您应该看到一个新文件夹“ _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更新1 / ReSharper 10.0.2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.