dotnet/roslyn

CodeLens does not invalidate for changes in downstream projects

开放

#49,775 创建于 2020年12月3日

 (0 条评论) (0 个反应) (0 位负责人)C# (4,257 个派生)batch import
Area-IDEBugCodeLenshelp wanted

仓库指标

星标
 (20,414 个星标)
PR 合并指标
 (平均合并 6天 17小时) (30 天内合并 256 个 PR)

描述

Version Used: e9fd4dc7

Steps to Reproduce:

  1. Create project A:

    public static class First {
      public static void Method() { }
    }
    
  2. Create project B, which references project A:

    public class Second {
      public void Method() {
        First.Method();
      }
    }
    
  3. Observe the CodeLens reference count on First.Method

  4. Comment out Second.Method

  5. Observe the CodeLens reference count on First.Method

Expected Behavior:

  • At step (3), the reference count is 1
  • At step (5), the reference count is 0

Actual Behavior:

  • ✔ At step (3), the reference count is 1
  • ❌ At step (5), the reference count is 1

Additional Details:

The change in step (4) does not update the project version which is used here for data point invalidation:

https://github.com/dotnet/roslyn/blob/6eecbdbeff1a547709b53f5bdc93b60749c6b1ef/src/VisualStudio/Core/Def/Implementation/CodeLens/CodeLensCallbackListener.cs#L70

贡献者指南