为啥我在 ReSharper 中收到错误“无法解析符号 <symbolname>”?

Posted

技术标签:

【中文标题】为啥我在 ReSharper 中收到错误“无法解析符号 <symbolname>”?【英文标题】:Why do I get an error 'Cannot resolve symbol <symbolname>' in ReSharper?为什么我在 ReSharper 中收到错误“无法解析符号 <symbolname>”? 【发布时间】:2010-04-20 21:27:29 【问题描述】:

使用 VS2008 和 R# 5,我遇到了一个奇怪的情况,在 aspx 页面上我不断得到

Cannot resolve symbol 'symbolname'

但代码编译并运行良好。虽然解决这个问题会很棒,但我只是想弄清楚我是不是疯了。

CodeFile 指令和 Inherits 指令都可以。如果我编译应用程序或只是让 devenv 坐一会儿它会消失,但只要我 save aspx [通过 ctrl+s] R# 突然遇到继承属性和翻转页面中的每个方法(OnClick 等)。

// Anonymized of course but otherwise intact
<%@ Page AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" Language="C#" MasterPageFile="~/MasterPage.master" Title="Test Page Title" %>

这主要只是一种不满,因为代码编译后并不会阻止我做我需要做的事情。

我会向 JetBrains 网站发布错误报告,但首先我想知道我并不孤单。它可能是我的机器。也许当我在几周后滚动到 VS2010 时,这会消失?

【问题讨论】:

嗨,Kirill,正如我之前所说,我不一定知道这是否只是我的配置,所以在我提交测试用例之前,我想看看其他人是否注意到了它,只是没想到要提。让我给它一个星期,如果它仍然在做这个没有解决方案,或者如果其他人发布到这个,那么我很乐意提交一个错误报告。 〜我只是讨厌为我的系统上的问题造成不必要的错误报告,你知道吗? ~ 我会看看创建一个新项目是否能让我重现这种行为,我们可以从那里进行协调。 我在我的一个 VB.NET ASP.NET Forms(不是 MVC)应用程序中遇到了同样的问题。它似乎只发生在 ASP.NET 代码隐藏(ASPX 或 ASCX 两者)中,到目前为止我只在调用扩展方法时看到它。 ReSharper 都将它们标记为“无法解析”,但也建议我使用扩展方法作为静态方法:x.MyExtensionMethod(y) =&gt; MyExtensionMethod(x, y)。我只是认为这是 VB.NET 扩展方法(模块和属性而不是 this 的静态类)的恼人方式的问题。 Bug 报告与基本样本一起提交,并不完全表明真正的失败,但证明了错误。 (我没有时间过滤到底是什么地方失败了,也没有时间构建一个巨大的项目,但我可能会导致错误情况短暂出现) 也可能与此错误帖子有关,因为我们使用了很多我们自己的控件,因此它们在 web.config 而不是每个页面中注册youtrack.jetbrains.net/issue/RSRP-173600 还有这个错误youtrack.jetbrains.net/issue/RSRP-175833 【参考方案1】:

在 Resharper 中,您可以使用以下命令禁用对该文件的检查:Ctrl + Shift + Alt + 8

【讨论】:

我为 *.cshtml ReSharper > 选项 > 代码检查 - VS2015 RTM 添加了 ReSharper 异常【参考方案2】:

所以还没有最终解决方案。根据技术支持,这是一个已知问题,正在研究中。目前尚未确定最终解决方案。如果您遇到类似的问题,请坚持住。网址:http://youtrack.jetbrains.net/issue/RSRP-178681

【讨论】:

【参考方案3】:

在我关注 this answer 之前,没有什么对我有用——从项目/参考中删除相关参考,然后再次添加。

【讨论】:

试过了;没有帮助。关闭解决方案并再次打开它为我解决了问题。【参考方案4】:

这适用于我的情况(Visual Studio 2015): 转到菜单并选择选项。 从打开的窗口中,选择 ReSharper Ultimate(您的版本可能不同),然后单击暂停。这基本上会暂停所有的 resharper 功能。然后点击“恢复”

应该可以。否则,请尝试清理 Resharper 缓存。

【讨论】:

【参考方案5】:

我只是尝试了一些奇怪的东西,它奏效了。在您的页面指令中,将 AutoEventWireup 更改为 false,保存文件,然后将其更改回 true。我认为这是aspx文件和设计器之间的某种联系。

【讨论】:

【参考方案6】:

尝试删除您的 .vs 文件夹(隐藏文件夹)。它将重置您的解决方案的配置和缓存

【讨论】:

【参考方案7】:

暂停并重新启动 Reshaper 有效。问题已解决。

【讨论】:

以上是关于为啥我在 ReSharper 中收到错误“无法解析符号 <symbolname>”?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我收到“无法解析 NSPredicate”错误

为啥我突然收到错误“无法解析目标'android-9'”?

当代码编译良好时,Resharper“无法解析符号”[重复]

为啥 Resharper 将此标记为“访问修改后的闭包”?

Resharper 无法解析母版页内的部分视图

Resharper 说“无法解析视图”