Pan*_*kov 1 c# class visual-studio
我注意到在Visual Studio中,某些类具有一个选项,如果您查看它们的定义,则实际上看不到该定义,而仅是类的声明和一些文档,例如: 
有谁知道如何使我的班级导致相似的文件?谢谢
我认为必须在这里解释一些基本知识。
源代码是一堆 C# 文件 (.cs)。这是您的课程代码所在的位置
当您编译源代码时,您将获得一个程序集(.dll)。程序集包含有关您的类和编译后的二进制代码的元数据,但不包含实际的源代码。
当您编译源代码时,Visual Studio还生产.PDB文件与您一起组装。PDB 文件允许您查看程序集的源代码。PDB 文件是调试所必需的。它有点类似于 javascript 源映射。
现在,当在 Visual Studio 中转到类或方法的定义时,可能会发生以下情况:
该类在您的解决方案中,->您将导航到源代码文件 (.cs)
该类在引用的程序集中定义,并且 PDB 文件可用,-> 您可以导航到从 PDB 文件中提取的源代码。您可以调试它(但是,您不能对其进行编辑)。
该类在引用程序集中定义,并且 PDB 文件不可用,->您可以在程序集元数据中导航。(这是您发布的图片中发生的情况)
因此,您的问题的答案是:将您的程序集与 .PDB 和源代码隔离开来。但是,您应该知道,有一些工具可以从程序集中的二进制代码对 C# 代码进行逆向工程。它与您的原始源代码不完全相同,但非常相似。
如果Visual Studio找不到包含有关实际文件位置和已编译代码中的行号的信息的PDB文件,则这是默认行为。
如果您包括另一个解决方案中引用的程序集,然后重命名包含代码的文件夹,则此方法应该起作用。从引用的位置删除PDB,您将看到此轮廓。
对于开发人员来说,显示代码是一个功能:它可以帮助您调试和分析已建立的程序集中的问题。因此,我建议您继续进行下去。不用担心其他开发人员,如果您不发送PDB文件,他们将不会从Visual Studio中看到代码。例如,他们仍然可以使用Reflector读取程序集的源代码。
| 归档时间: |
|
| 查看次数: |
3112 次 |
| 最近记录: |