【问题标题】:Resharper reference errors between .netcore / .netstandard projects.netcore / .netstandard 项目之间的 Resharper 参考错误
【发布时间】:2018-07-31 19:40:26
【问题描述】:

我在 Visual Studio 中有两个项目,其中第一个中的类是指第二个中的类。第一个项目是一个 .netcore 应用程序,其项目文件中包含以下内容:

<TargetFramework>netcoreapp2.0</TargetFramework>

第二个项目有多个目标框架:

<TargetFrameworks>netstandard2.0;net461;net462</TargetFrameworks>

两个项目都可以编译并且工作正常,但是位于第二个项目中的类在第一个项目的代码中显示为红色,就好像存在引用错误一样。对于上下文,这是一个通用示例:

被弄脏的红色部分是另一个项目中定义的类。我可以导航到它(使用 F12 /“转到定义”或 ctrl + 单击),但是当我将光标悬停在红色文本上方时,会说

无法解析符号“MyClassName”

所以要绝对清楚:一切仍然有效 - 只是 Resharper 错误地报告了她的参考错误,这让我很烦恼。

我怎么知道 resharper 是造成这种情况的原因?因为如果我禁用 Resharper(工具 -> 选项,搜索 resharper 并单击“暂停”),错误就会消失:

再次启用 Reshaper 会导致错误立即返回。

我怀疑这与项目的类型(即他们的目标框架)有关,但我无法准确弄清楚。

关于如何摆脱这些错误的任何想法?

【问题讨论】:

  • 听起来像一个但是。我建议在他们的问题跟踪器中搜索类似的错误,如果没有找到 - 发布问题。我怀疑这个网站上的人可以提供帮助。您还可以安装 ReSharper 的最新 EAP 版本,看看那里是否已修复。
  • @Kjartan 我做了一个最小的例子,但无法重现您的问题:github.com/matkoch/resharper-issue-2018-02-22-references
  • 我遇到了这个问题,我已经尝试了一切来解决它,但没有成功。这很令人沮丧

标签: c# .net visual-studio .net-core resharper


【解决方案1】:

重头戏

解决方案 1

Tools->Options->ReSharper 
  • 立即暂停
  • 简历

它刷新缓存和/或其他一些黑魔法


解决方案 2

您可以尝试隐式清除 ReSharper 缓存

ReSharper->Options->Environment->General 
  • 清除缓存。

解决方案 3

您也可以尝试卸载然后重新加载项目。

Solution Explorer->Right Click
  • 卸载项目
  • 重新加载项目

解决方案 4

作为最后的手段,您可以尝试手动删除解决方案缓存

%LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\

【讨论】:

  • 谢谢,我很欣赏这些想法,但不幸的是,它们似乎无法解决任何问题。一旦重新加载项目,错误就会再次出现。
【解决方案2】:

请安装最新的 ReSharper 版本 2018.3.4

【讨论】:

    【解决方案3】:
    dotnet tool install JetBrains.ReSharper.GlobalTools --version 2021.2.2
    

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2018-01-08
      • 2017-07-02
      • 2020-08-20
      • 2014-10-28
      • 1970-01-01
      相关资源
      最近更新 更多