从“.exe”删除调试信息

如果我将C#程序exe放在文本编辑器中,我可以在其中找到调试信息:

在此处输入图像描述

我怎么能删除它?


好吧,所以你的问题实际上是一个奇怪的问题,因为你所要求的并不是你通常会关心的。 PDB文件不是“个人信息”也不.exe中指向.PDB文件路径 。 你的榜样纯属巧合。 继续…


基于最佳实践的最简单修复

不要将Visual Studio代码保留在Windows用户配置文件文档文件夹中。 而是将其移动到以下之一

  • c:\开发或更好的是,如果可以的话,非OS驱动器上的文件夹
  • 准备好发货时,请确保在CI服务器上构建代码。 在这个时代,没有理由不使用CI服务器,就像使用源代码控制一样

这将修复出现在你的exe中的巧合用户名。 除非您在用户上下文中运行构建代理,而不是专用的构建帐户。

另外,我喜欢保存文档 ,文档好,不会被代码污染; Git或SVN缓存。 它只会为像CrashPlan这样的实时备份应用程序产生噪音。

替代

只需构建没有调试信息

考虑此默认调试版本,请注意相关PDB文件的路径:

在此处输入图像描述

没有调试设置即可发布

在此处输入图像描述

设置

在此处输入图像描述

您的调试版本可以通过PDB文件的路径来判断,该文件包含有关应用程序的调试信息。 通常,您不会部署应用程序的调试版本。

制作应用程序的发布版本。 默认情况下,发布版本不会生成.pdb文件。

此外,.pdb文件不会向狂热的读者提供“源代码”,如果这是你的恐惧。 最多可列出文件的路径,但文件路径不构成源代码内容。

也可以看看:

  • 您可能想要查看为什么始终部署PDB文件是一个好主意