Asp.net core 为什么发行版包含.pdb文件?

Asp.net core 为什么发行版包含.pdb文件?,asp.net-core,.net-core,asp.net-core-2.1,Asp.net Core,.net Core,Asp.net Core 2.1,我一直认为发布模式没有.pdb文件。最近我使用命令行发布了.Net核心web应用程序,其中包括pdb文件。这对我来说有点奇怪 它与代码构建的许多其他方面(优化级别、启用/禁用条件编译切换器等)一样,在项目属性中是可确认的 在许多情况下,PDB为您带来了没有它就无法获得的附加信息:堆栈跟踪中的行号(在日志中写入未经处理的ExpException错误的情况下)。在MS dev平台上发布版本的公共pdb有着悠久的传统。实际上,您应该有充分的理由不使用它们(我总是这样做)。PDB文件在发行版和调试模式中

我一直认为发布模式没有.pdb文件。最近我使用命令行发布了.Net核心web应用程序,其中包括pdb文件。这对我来说有点奇怪

它与代码构建的许多其他方面(优化级别、启用/禁用条件编译切换器等)一样,在项目属性中是可确认的


在许多情况下,PDB为您带来了没有它就无法获得的附加信息:堆栈跟踪中的行号(在日志中写入未经处理的ExpException错误的情况下)。在MS dev平台上发布版本的公共pdb有着悠久的传统。实际上,您应该有充分的理由不使用它们(我总是这样做)。

PDB文件在发行版和调试模式中都包含符号信息(方法名称等)。您应该绝对地部署它们,这样您就可以分析您的生产应用程序,并获得方法名和其他关键信息。我的疑问是,当我检查DLL的发布版本时,发现其中存在异常。它还显示引发异常的文件,如HomeController.cs和第123行,因此我认为此类型信息仅在调试模式下可用。它不是。它也可以在发布模式下使用。