当代码编译良好时,Resharper"无法解析符号"

Aga*_*gat 6 c# resharper syntax-error visual-studio

在此输入图像描述

我相信,错误信息与Serilog具体无关,而是因为代码/程序集/包特定的结构/修饰符等.

因此,问题在于Resharper显示错误(并且Visual Studio(通过Go to Definition命令)导航到导航时的代码(来自程序集引用))并且很好地编译代码(包括成功显示方法描述).

该方法在程序集中定义如下:

namespace Serilog
{
    public static class Log
    {
        public static ILogger ForContext<TSource>();
Run Code Online (Sandbox Code Playgroud)

我目前的Visual Studio版本 :2017(15.4.4) Resharper:2017.2.2

一般来说,一切都适合我,但由于"丢失"的定义,我的对象定义(Logger)在整个代码中表示未解析,因此我的所有滚动条都是红色的,带有错误注释,这非常令人困惑.

有什么想法吗?

AAA*_*ddd 11

以下似乎在大多数情况下对我有用

解决方案1

Tools->Options->ReSharper 
Run Code Online (Sandbox Code Playgroud)
  • 暂停
  • 恢复

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


解决方案2

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

ReSharper->Options->Environment->General 
Run Code Online (Sandbox Code Playgroud)
  • 清除缓存.

解决方案3

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

Solution Explorer->Right Click
Run Code Online (Sandbox Code Playgroud)
  • 卸载项目
  • 重新加载项目

解决方案4

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

%LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\
Run Code Online (Sandbox Code Playgroud)