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

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

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

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

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

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

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

我的程序数据库文件名设置是:$(OutDir)$(TargetName)$(build运行domvar).pdb

对于这个问题,我真的很感激任何帮助,因为我无法让它工作。

我找到了答案,我会把它放在这里以备不时之需。

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

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

这应该会生成您的 pdb,文件名中带有时间戳,这在技术上是伪随机的。