C#编译器在EXE文件中包含本地路径

3

当我在VS 2010中编译一个发布项目(未启用DEBUG),我在生成的EXE中看到以下信息:

C:\ Code \ Test \ Test \ obj \ x86 \ Release \ Test.pdb

为什么会这样,如何禁用它?我尝试过谷歌搜索,但并没有找到太多有用的结果。

2个回答

2

虽然我没有实际查看exe文件,但是您可以在项目属性下的“生成”>“高级”>“调试信息”中禁用pdb文件的生成(并可能将其包含在exe中)。如果将此值设置为“无”,则不应生成任何内容。

即使对于发布版本,默认情况下也仅生成pdb文件。


是的,这个可行,刚刚确认过了。我的全名在我的工作路径中,一直让我感到困扰的是这些信息被编译进了exe文件中。现在很高兴知道如何解决这个问题了。 - Jimmy D
谢谢,这在这里也起作用。在我关闭这个问题(并接受aL3891的答案)之前,我能否确认更改此设置是否是一个好主意?我假设这个PDB文件在发布的EXE中根本没有被使用,但我想知道为什么这个设置默认情况下是启用的。 - Tom
当然,它们在发布版本中并不是必需的,但如果您遇到异常并想要进行调试,它们可能会很有用,但它们并不是必要的 :) - aL3891

0

这些文件是用于调试的。它们包含了(除其他外)有关代码中断点匹配到编译后代码位置的信息。它们不应该与二进制文件一起发布。


1
我不认为他说的是那个意思。他的意思是,如果你在记事本中查看你的exe文件,你可能会看到一些私人信息,比如路径名等。 - Jimmy D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接