在.NET程序集中识别程序员的个人身份信息

10

在检查我过去的一些应用程序时,我发现编译进汇编中的信息包括我的项目位置、我的用户名(这恰好是我的全名,而不是我的在线名称),以及说实话,我不确定还有哪些其他信息。

现在我知道这个问题的主要原因是在调试模式下编译,因为这是源文件或pdb文件的文件位置。

问题是,哪些其他“个人身份”信息可能出现在编译的汇编中,以及如何防止这些信息出现在汇编中?

我假设如果我将项目设置为发布模式以禁用汇编中的调试符号,这将达到我的目标,但是我仍然好奇是否还有其他遗漏的内容。

通常我没有问题让人们知道我制作了某些东西,但是我对于我的分发汇编中出现我的全名感到有些不悦。

3个回答

1
所有这些信息都在Visual Studio中的项目/属性/应用程序/程序集信息下。大部分是可选的,只需清空您不想要的程序集即可。

1
仅为澄清,如果在发布模式下,我的项目的目录结构不会包含在程序集中,这样理解对吗? - Brett Allen
据我所知,在实际的汇编中没有存储目录结构,除非你想考虑那些硬编码目录或者从XML文件、配置字符串等读取它们的地方。 - Robert Harvey
顺便提一下,这个对话框只修改AssemblyInfo.cs文件,如果您愿意,也可以手动修改此文件。 - Robert Harvey
1
如果您创建pdb文件,则完整路径将包含在程序集中。 - Dirk Vollmar
只是为了澄清,完整路径(可能包括您的用户名)将在发布模式下包含,而不仅仅是在调试模式下,只要编译器生成pdb文件。 - Dirk Vollmar

1

根据您的VS设置,您可能会在程序集信息(AssemblyInfo.cs)中包含识别信息。如果通过ClickOnce发布,则还有可以从发布选项卡中访问的发布信息。这两个标签都是完全可配置的。

您可能还拥有第三方产品的许可文件,其中包含必须作为外部文件或嵌入式资源与应用程序一起分发的识别信息;如果是这样,除了与供应商提出问题之外,您可能无能为力。

除了这些项目,我想不到任何其他原因会将个人信息编译到程序集中。调试信息仅放在PDB文件中-没有它,您无法获取符号或行号。这适用于调试和发布模式。


0
你在处理 XML 文档的时候也需要小心,因为它们可能保存着“敏感”的信息(可能是程序员的玩笑话,甚至更糟糕)。

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