如何使用 F12 查看 visual studio 中的 C# 代码详细信息?

How to see the c# code detail in visual studio using F12?

我是 c# 和 visual studio 的新成员。当我使用 F12 去定义时,但有时它不起作用。它只是向我展示了没有 body/logic 方法的代码。

有人告诉我是因为dll,但我真的不知道该怎么做可以看这个案例的详细代码。谢谢

这是因为您没有将引用添加为项目,而是使用“添加引用”对话框中的“浏览”选项卡指向 dllexe。如果您使用项目选项卡添加引用,您应该在 select 转到定义时直接转到源代码。

Note: If you do not have project for the dll then you will get metadata only from dll

如果您要使用 F12 查找的定义在同一个项目中,那么它将显示 method/variable/class.

的总定义

如果您的定义在项目之外,即您正在引用不同的项目,那么它只会显示声明。

如果您试图查看从已编译 DLL 引用的方法的源代码,则不能,因为它是已编译代码,因此不是源代码。

正如其他人所说,这是因为所有VS必须继续进行的是DLL,它不包含源代码,仅包含方法签名。

但是你能做些什么呢?

几件事。

  1. 试试 ReSharper,它有一个内置的反编译器,可以给你看一些代码(注意它不会被格式化和带有原始变量名,但它通常总比没有好)。
  2. 如果您没有 ReSharper,您可以使用免费的 JetBrains dotPeek 产品,尽管它没有集成到 Visual Studio。
  3. 如果您从 Nuget.org 引用,那么您应该能够在 VS 中打开一个选项,该选项将以 pdb 文件的形式下载源代码(如果包作者提供)。这是最好的体验。
  4. 如果可能,获取一些匹配的 pdb 文件。要么直接获取它们,要么从源代码构建等等。