我的工具:

Visual Studio 2012终极+更新

ReSharper v7.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文件 使用一些窗口和注册表修复工具 删除ReSharper 修复Visual Studio 和…

但我解不出来。

我在考虑安装一个新的Windows系统。


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


当前回答

我引用了一个NetStandard2.0项目,它没有得到r#的认可。 我清理了缓存,但这并没有帮助我。

下载最新版本并更新r#对我来说确实有用。

这是我现在运行的版本:

JetBrains ReSharper Ultimate 2017.3.2  Build 111.0.20180201.63358
ReSharper 2017.3.20180201.111630

只要下载r#,它就会识别已经安装的版本。更新到最新版本非常容易。

其他回答

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

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

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

正如你所看到的,解决方案就是每个人都已经提到的——简单地暂停ReSharper,然后清理缓存,最后恢复它。但是,没有人提到如何在不关闭/重新启动Visual Studio的情况下做到这一点。

只需遵循以下步骤:

Getting ReSharper Cache Location Manually by going to ReSharper Options > Environment > General > Store Solution Caches in (Combo Box) (marked 2 in the image). Selecting Custom Folder, then Copying the location of the Caches Folder from the text box shown (marked 3 in the image). Reverting the settings back. The 1 marked shows the ClearCache Button. It's usually wouldn't work so leave it. Suspending ReSharper You can do this by going to Tools > Options > ReSharper Or ReSharper Ultimate > Suspend Now (Button) Clearing the Cache Go to the location copied earlier in step 1 and delete everything in that folder. And yes, I do mean everything. Resuming ReSharper You can do this by again going to Tools > Options > ReSharper Or ReSharper Ultimate > Resume (Button)

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

当Visual Studio选择一个要绑定的dll时,它通常会按照预期的方式编译和运行。然而,ReSharper变得非常混乱。对我来说,这应该是一个ReSharper错误,它要求你解决,而不是只是疯了。

更新:

我两天前(在我写这篇文章的第二天)完全巧合地遇到了这个问题,看到了这个链接,他们说这是由VS API的一个bug引起的。我尝试了他们推荐的所有方法,甚至暂时都无法解决这个问题:我使用的是Autofac 2.6。我从谷歌下载的。代码,然后交换它为NuGet包版本,它故意拒绝看到新的引用,无论我做什么。

他们建议安装r# 8 EAP,但对我来说,降级到旧版本的Autofac更方便。

帮不上什么忙,但也许有用。

我也有类似的问题,并清除了在以下地方发现的缓存:

\ \ \ AppData \ \ JetBrains当地ReSharper v7.1 SolutionCaches

为我解决了问题

运行VS2012 u3

这适用于我(VS2012u4, r# 7.1.3):

Resharper >选项>环境:一般>清除缓存 重启Visual Studio