如何在Visual Studio中生成一个具有随机输出名称的PDB文件

How do you in Visual Studio generate a PDB file with a random outputted name?

本文关键字:随机 一个 输出 文件 PDB Studio Visual      更新时间:2023-10-16

我希望能够在运行时动态加载和卸载DLL项目。要做到这一点,我必须确保每次在Visual Studio中重建项目时,生成的.pbd文件都有一个伪随机生成的名称,即(随机文件路径有效字符串).pbd.

这是因为调试器强制我在重新生成之前中止调试。

我首先尝试创建一个自定义的预构建工具,该工具运行一个.bat文件,该文件创建了一个系统环境变量,如下所示:

set TIMESTAMP=%DATE:/=-%@%TIME::=-%
set TIMESTAMP=%TIMESTAMP: =%
setx buildrandomvar %TIMESTAMP%

这很好,我检查了注册表。但无论我做了什么,我都无法将"buildrandomvar"作为.pdb文件名的一部分进行引用。结果只是一个空的".pbd".

我的程序数据库文件名设置为:$(OutDir)$(TargetName)$(buildrandomvar).pdb

我真的很感谢在这个问题上提供任何帮助,因为我无法让它发挥作用。

我找到了答案,我会把它放在这里,以防有人需要。

在Visual Studio中,右键单击您的项目,转到"属性"->"链接器"->"调试"->"生成程序数据库文件",然后输入

"$(OutDir)$(TargetName)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb"

这应该会在文件名中生成一个时间戳的pdb,从技术上讲,这个时间戳是伪随机的。