ReSharper “Cannot resolve symbol” even when project builds
我的工具:
Visual Studio 2012旗舰版+更新1
Resharper版本7.1.25.234
我的解决方案生成状态:生成成功
但是,当我安装Resharper并启用Resharper代码分析时,我的代码的许多关键字都是红色的,并出现以下错误:
"无法解析符号xxx"
我的项目的另一张图片>>
Resharper"无法解决符号"错误无处不在,但我的项目构建过程成功,并且工作正常。
附加说明:如果我禁用Resharper代码分析,我的项目将是正常的,但我想使用Resharper代码分析。
我尝试了resharper→options→general→clear cache。但我还是有这个问题!
一个月前,当我卸载了Visual Studio 2012 RC并安装了VS 2012 RTM时,出现了这些错误。
我已经卸载并再次安装了Resharper。但我有这个问题!
我的解决方案有五个项目>>两个加载的项目(主项目+资源项目)和三个卸载的项目
我认识到我的Visual Studio也有更大的问题(有关堆栈溢出的更多信息)
我无法添加对我的项目的任何引用(即使是在新解决方案和新项目中)
我无法安装任何包(通过"包管理器控制台"或管理nuget包)
我无法更新任何包(通过"包管理器控制台"或管理nuget包)
我(对自己和他人)提出了很多建议
重新抵制某些dll文件
使用一些Windows和注册表修复工具
删除重新竖琴
修复Visual Studio
还有…
但我解决不了。
我正在考虑安装一个新窗口:(
怎么了,怎么修?
再次尝试Visual Studio→菜单工具→选项→重新搜索、suspend按钮和resume(无需关闭窗口)。这在我的情况下是可行的。
1 2 3 4 | VS -> Tools -> Options -> ReSharper Suspend button Clear Contents of -> AppData\Local\JetBrains eSharper\v7.1\SolutionCaches VS -> Tools -> Options -> ReSharper Resume button |
这对我很有用(VS2012U4,R 7.1.3):
清除resharper缓存:resharper->options->general->clear caches,关闭并重新打开解决方案。它在R 9.0更新1中工作
当您的解决方案中有同一个库的两个不同版本时,会在Resharper中发生这种情况。例如,项目A引用automapper版本1.1,项目B引用automaper版本1.0。
在这种情况下,Visual Studio通常会按预期编译和运行,因为它选择了要绑定到的DLL之一。然而,雷斯哈珀变得非常困惑。对我来说,这应该是一个重新分析的错误,它要求你解决,而不仅仅是去疯狂。
更新:
两天前(我发完这篇文章的第二天)我偶然发现了这个链接,他们说它是由VSAPI中的一个错误引起的。我尝试了他们推荐的所有方法,甚至暂时都无法解决:我有从google.code下载的autopac 2.6.x,然后将它换成nuget包版本,不管我做了什么,它都坚决拒绝看到新的参考。
他们建议安装R 8 EAP,但对我来说,降级到旧版本的Autopac就不那么麻烦了。
帮助的方式不多,但可能有用。
这发生在我的Visual Studio 2015和Resharper Ultimate 10.0.2上。我尝试了以上所有的解决方案(除了任何重新安装),但没有任何效果。
我让它以非常具体的顺序,通过上述各种步骤再次工作:
- 必须在挂起Resharper之前执行此操作,否则此选项不可用。
- 这将清除
C:\Users\YourUsername\AppData\Local\JetBrains\Transient 中的文件,如某些其他帖子中所述。
eSharperPlatformVs14\v04
- 这实际上会执行Resharper缓存清除
- 我等待Visual Studio检测到IntelliSense中没有代码问题,此时可能已执行了生成。
希望在最后一步之后,你可以松一口气,不用重新安装任何东西,我当然做到了!
我也有类似的问题,并清除了在以下位置发现的缓存:
AppDataLocalJetBrains
esharperV7.1解决方案缓存
帮我解决了问题
运行VS2012 U3
它通常是由配置文件损坏或错误检测造成的。只需删除.vs文件夹,重新启动vs以重置配置。差不多可以
上面的清除缓存和/或挂起重新分析程序的链接对我不起作用。我刚从解决方案资源管理器"刷新"了显示此问题的项目,问题就消失了。遗憾的是,它一直重复出现,并且只有在每次出现此问题时才选择继续刷新。
我在Windows 8上有带有Resharper 8.1的VS2012
我也有同样的问题(与2017年相比)。在我的例子中,它是不同版本的目标框架——一个程序集的目标是4.52,另一个是4.62——在两个程序集中将它们设置为相同的版本之后,它再次开始工作。
我在Visual Studio 2013中遇到了与Resharper 8.2相同的问题,这里常见的清除缓存、挂起Resharper或重新安装Resharper的解决方案都不起作用。
在我的例子中,我最终解决了如下问题…我看了看其中一个无法解析的符号,发现它在
因此,我卸载了每个依赖项,包括
我也有同样的问题,卸载和重新加载有问题的项目帮助我为Resharper解决了这个问题。希望这有帮助。
正如你所看到的,解决方案是每个人都已经提到过的。只需暂停Resharper,然后清除缓存,最后恢复它。但是,没有人提到如何在不关闭/重新启动VisualStudio的情况下执行此操作。
只需遵循以下步骤:
正在获取Resharper缓存位置
- 通过转到Resharper选项>环境>常规>存储解决方案捕获(组合框)(在图像中标记为2)手动执行。选择"自定义文件夹",然后从显示的文本框(在图像中标记为3)中复制"捕获"文件夹的位置。恢复设置。标记的1显示ClearCache按钮。它通常不起作用,所以别管了。
- 可以通过转到"工具>选项>重新分析"或"重新分析最终版>立即挂起"(按钮)来完成此操作。
清除缓存
- 转到步骤1前面复制的位置,删除该文件夹中的所有内容。是的,我指的是一切。
恢复回击器
- 您可以通过再次转到"工具>选项>重新分析"或"重新分析最终结果>继续"(按钮)来完成此操作。
resharper->选项caches->store solution caches in:(将文件夹更改为另一个文件夹)。
或者尝试手动清理r缓存文件夹
最后,我需要请求Resharper清除缓存,同时通过Windows文件资源管理器手动清除缓存。这最终解决了我的问题。
esharperPlatformVS14
对于VS2015,我必须将Resharper更新到2016.2.2版以解决此问题。
我已经尝试过了(其中没有一个适合我):
- 暂停/恢复
- 挂起/清除CACH(使用工具>选项按钮)/恢复
- 挂起/清除CACH(使用Windows文件系统)/继续
- 将缓存移动到解决方案文件夹/重新启动Visual Studio
- 以上所有或部分的许多其他组合
我希望这能帮助别人。
我做了上面的每件事都没有解决。
然后我从另一个Q/A(不记得是哪一个)中迈出了一步,将system.web.mvc设置为copy local true。重新编译我的项目,错误就消失了。
当我将此程序集设置回copy local false时,错误没有返回。
我的情况,我尝试了以上所有的建议。但是,在某个时刻,我意识到这个问题仍然存在,即使重新分析被暂停。所以,我在vs本身中寻找类似的问题,并在这个so帖子中的接受答案的评论中找到了解决方案。
为了简洁起见,我列出了我的步骤。
我用的是7.1,这对我很有用:
esharper和..LocalJetBrains
esharper文件夹
我也有同样的问题。清理Resharper缓存和挂起Resharper对我不起作用。我只是关闭Visual Studio,卸载Resharper,然后安装Resharper,问题就消失了。
我使用的是VS2015,R 10。所有建议的解决方案都不适合我。我删除了我的解决方案的bin文件夹的内容,并重新构建了整个解决方案,这似乎解决了问题。在删除bin文件夹的内容之前,我尝试挂起并恢复r_,从r->选项->常规设置中清除缓存,并手动从appdatalocaljetbrains ransient
esharperplatformvs12v01solutioncaches中删除内容。希望它能帮助别人。
在上述几条建议之后,对我的案例有帮助的是:
- 删除了一个项目引用(在其中一个库中,resharper声称即使引用正确也找不到它)。
- 使用resharper的"resolve"来再次添加引用。
在那之后,它工作得很好,即使在这个过程中没有修改任何项目文件。
对我来说,我想我的解决方案在我更改本地Git回购的哪一个分支时陷入了一种奇怪的状态。只需切换到问题开始前的上一个分支,告诉vs重新加载所有文件,然后切换回所需的分支并重新加载即可修复问题。
我们也看到了这个问题,特别是多个项目共享的文件。在编辑器窗口的左上角有一个组合框,用于切换文件的项目上下文(因此影响符号分辨率的引用)。
Resharper通过其"转到文件或符号"命令很容易意外地打开错误的共享文件"版本"。
将上下文切换回我在解决方案中使用的项目是解决这个问题所需要做的全部工作。
我还看到了resharper中报告的类似问题,这些问题不会导致编译/运行时错误。
在使用
此外,还有许多错误,如
当我在
这应该是一个与Resharper缓存相关的问题,但据我所知,"清除缓存"功能仅在缓存位于解决方案文件夹中时才起作用。要检查,请尝试以下操作:Visual Studio>工具>选项>重新分析>选项…
在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
我在我的Visual Studio 2015和Resharper Ultimate中遇到了同样的问题,并尝试了上面建议的解决方案,但没有一个适用于我。
然后将resharper升级到最新版本解决了我的问题。
对我来说,检查解决方案给了我数百个错误,包括许多"在搜索路径中找不到文件"。我尝试了所有的建议来解决它,但没有一个奏效。我最终发现检查这个项目,而不是解决方案,工作得很好。
我只想报告我的解决方案,以防有人和我有类似的情况。我有Visual Studio 2013,更新5和Resharper 8.2.3。我的项目是ASP.NET MVC 5。
通常,我擅长不断更新扩展包。最近,我发现我所有的视图都是红色的,显示"无法解析视图XXXX"。我尝试了清除缓存、挂起重新分析和恢复重新分析解决方案,但是一旦我构建了项目,错误就会回来。
我检查了Resharper扩展,然后卸载了Resharper.ExternalAnnotations包(8.2.3005),并从Gallery重新安装了以前的版本(8.2.3000.5176)。这似乎解决了我的问题。
我尝试了很多次以上的解决方案,但没有一个对我有用。我使用的是带有Resharper 9.0的Visual Studio 2015。
我通过升级到Resharper 9.2解决了这个问题。如果您已经有了主要版本的最新更新,那么重新安装resharper可能会帮您解决这个问题。我建议您先清除重塑缓存,以防万一。
以下是指向Resharper存档版本的链接:https://resharper-support.jetbrains.com/hc/en-us/articles/207242355-where-can-i-download-an-old-previous-resharper-version-
我引用了一个没有得到R_认可的NetStandard2.0项目。我清理了那些储藏室,但那对我没有帮助。
下载最新版本和更新r对我来说确实有效。
这是我现在运行的版本:
1 2 | JetBrains ReSharper Ultimate 2017.3.2 Build 111.0.20180201.63358 ReSharper 2017.3.20180201.111630 |
只需下载r即可识别已安装的版本。更新到最新版本非常容易。
我也有类似的问题。在我的例子中,我的项目路径对于Windows来说太长了(超过248个字符)。
我的解决方案在Vs2017中可以编译,但Resharper找不到引用。有趣的是,我在错误窗口中有一个错误,即使构建成功:
Severity Code Description Project File Line Suppression State
Error MSB3491 Could not write lines to file"obj\Debug
etcoreapp2.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工作正常。
当我禁用Resharper时,Visual Studio也会给出相同的错误,即使该项目已成功构建。我为解决这个问题所做的是:
在执行这些步骤之后,语法错误在Visual Studio中消失了,在我再次启用Resharper之后,它也没有错误。
我也有同样的问题,项目编译得很好(甚至在清理和构建之后),但是IntelliSense抱怨缺少引用。
我尝试了从删除缓存和禁用Resharper的所有方法,但没有任何效果。最后,我意识到只有一个项目引用显示IntelliSense错误。
我的解决方案是简单地删除对这个项目的引用,然后重新添加它,所有的工作都如预期的那样。
没有软缓存删除解决方案对我有效,看起来在多年来安装的不同RS版本之间产生了问题。
对我有用的是:
- 不速之客
- 删除appdatalocal中的所有JetBrains文件夹和AppData漫游
- 再次安装Resharper
所有的设置都需要重做,等等,但即使在JetBrains团队的帮助下,我也无法得到更好的解决方案。
我测试了本页中的所有其他答案(在写此答案之前),例如:
VS -> Tools -> Options -> ReSharper Suspend button and Resume
Clear ReSharper cache
And others
但不幸的是,他们都没有解决我的问题。也许我的问题比你的问题复杂。我在我的问题编辑中提到了他们,然后下面的答案对我来说是正确的解决方案,但也许其他的答案可以解决你的问题。请先测试一下。
我被迫重新安装了操作系统,并使用了更新版本的工具。:(
现在我使用的是VS 2013+R_V8,当我的重新竖琴有任何问题时,我只需尝试以下说明,它就能解决我的问题:
VS -> Tools -> Options -> ReSharper Suspend button and Resume