我的工具:

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系统。


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


当前回答

当您的解决方案中有相同库的两个不同版本时,会在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更方便。

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

其他回答

当您的解决方案中有相同库的两个不同版本时,会在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更方便。

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

我也有这个问题。之前所有的解决方案都对我没有帮助,或者只在很短的时间内起作用。 在我的例子中,问题是我将. net Framework 4.7.2项目连接到一个版本为4.5.2的项目。在我将两个项目更新到4.7.2版本后,问题就解决了。 我认为要解决这个问题,你需要有相同版本的项目。或者将一个较小的版本连接到一个较大的版本,但不是反之亦然,就像我的情况一样。

对于我来说,上面的几个建议并没有帮助我:

删除了一个项目引用(ReSharper声称不能找到它的库之一,即使它被正确引用)。 使用ReSharper的“Resolve”在它的一个用法上再次添加引用。

在那之后,它工作得很好,尽管在这个过程中没有修改任何项目文件。

对我来说,检查解决方案给了我数百个错误,包括许多“无法在搜索路径中找到文件”。我试过了所有的方法都没用。我最终发现,检查项目,而不是解决方案,工作得很完美。

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

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