Visual Studio 2022使用反编译的dll而不是我原来的C#源文件

3vpjnl9f  于 8个月前  发布在  C#
关注(0)|答案(1)|浏览(387)

我有一个引用项目B(C#;.NET Framework 4.8)。

namespace A {
  public static ClassA {
    public static void CallA() {
      // ClassA of project A calls a method of ClassB of project B.
      B.ClassB.CallB();
    }
  }
}

当我单击CallB()并单击“转到实现”时,Visual Studio不会向我显示原始源文件!Visual Studio反编译B.dll并向我显示反编译后的代码。为什么?为什么?
如果我重命名ClassB,我希望Visual Studio显示失败。但是Visual Studio使用旧的B.dll并忽略了我的代码更改。为什么?为什么?

vatpfxk5

vatpfxk51#

如果您看到反编译的源代码,这意味着VS无法加载调试符号(dll旁边的.pdb文件,或在其中构建)。
检查你的dll的符号状态,如果你设置正确,它应该说“符号加载”:

'VideoMixer.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Symbols loaded.

相关问题