如何使用 F12 查看 visual studio 中的 C# 代码详细信息?
How to see the c# code detail in visual studio using F12?
我是 c#
和 visual studio 的新成员。当我使用 F12 去定义时,但有时它不起作用。它只是向我展示了没有 body/logic 方法的代码。
有人告诉我是因为dll
,但我真的不知道该怎么做可以看这个案例的详细代码。谢谢
这是因为您没有将引用添加为项目,而是使用“添加引用”对话框中的“浏览”选项卡指向 dll
或 exe
。如果您使用项目选项卡添加引用,您应该在 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,它不包含源代码,仅包含方法签名。
但是你能做些什么呢?
几件事。
- 试试 ReSharper,它有一个内置的反编译器,可以给你看一些代码(注意它不会被格式化和带有原始变量名,但它通常总比没有好)。
- 如果您没有 ReSharper,您可以使用免费的 JetBrains dotPeek 产品,尽管它没有集成到 Visual Studio。
- 如果您从 Nuget.org 引用,那么您应该能够在 VS 中打开一个选项,该选项将以 pdb 文件的形式下载源代码(如果包作者提供)。这是最好的体验。
- 如果可能,获取一些匹配的 pdb 文件。要么直接获取它们,要么从源代码构建等等。
我是 c#
和 visual studio 的新成员。当我使用 F12 去定义时,但有时它不起作用。它只是向我展示了没有 body/logic 方法的代码。
有人告诉我是因为dll
,但我真的不知道该怎么做可以看这个案例的详细代码。谢谢
这是因为您没有将引用添加为项目,而是使用“添加引用”对话框中的“浏览”选项卡指向 dll
或 exe
。如果您使用项目选项卡添加引用,您应该在 select 转到定义时直接转到源代码。
Note: If you do not have project for the
dll
then you will getmetadata
only fromdll
如果您要使用 F12 查找的定义在同一个项目中,那么它将显示 method/variable/class.
的总定义如果您的定义在项目之外,即您正在引用不同的项目,那么它只会显示声明。
如果您试图查看从已编译 DLL 引用的方法的源代码,则不能,因为它是已编译代码,因此不是源代码。
正如其他人所说,这是因为所有VS必须继续进行的是DLL,它不包含源代码,仅包含方法签名。
但是你能做些什么呢?
几件事。
- 试试 ReSharper,它有一个内置的反编译器,可以给你看一些代码(注意它不会被格式化和带有原始变量名,但它通常总比没有好)。
- 如果您没有 ReSharper,您可以使用免费的 JetBrains dotPeek 产品,尽管它没有集成到 Visual Studio。
- 如果您从 Nuget.org 引用,那么您应该能够在 VS 中打开一个选项,该选项将以 pdb 文件的形式下载源代码(如果包作者提供)。这是最好的体验。
- 如果可能,获取一些匹配的 pdb 文件。要么直接获取它们,要么从源代码构建等等。