更改dll文件头中pdb文件的路径

更改dll文件头中pdb文件的路径,dll,path,header,pdb,Dll,Path,Header,Pdb,是否有办法将dll文件头中pdb文件的路径从绝对更改为相对 例如,如果对库文件执行dumpbin/headers操作,则会得到: Time Type Size RVA Pointer -------- ------ -------- -------- -------- 4AE9A239 cv 4F 0001A9A8 197A8 Format: RSDS, {7B0C89D0-69E1-4A12-817C-424F209FAB10}, 1, D:\Projects\workspace\bin\Re

是否有办法将dll文件头中pdb文件的路径从绝对更改为相对

例如,如果对库文件执行dumpbin/headers操作,则会得到:

Time Type Size RVA Pointer -------- ------ -------- -------- -------- 4AE9A239 cv 4F 0001A9A8 197A8 Format: RSDS, {7B0C89D0-69E1-4A12-817C-424F209FAB10}, 1, D:\Projects\workspace\bin\Release\MyLibrary.pdb
我只想显示
bin\release\MyLibrary.pdb
,而不是
D:\Projects\workspace\bin\release\MyLibrary.pdb
,或者只显示
MyLibrary.pdb

我在C/C++程序集的例子中看到了这个问题的解决方案,但我没有找到C#assembly的任何解决方案,尽管有许多microsoft C#assembly具有此相对路径功能


有人知道怎么做吗?

是的,可以通过/PDBALTPATH链接器标志进行操作。 请参阅

中的详细信息。有一个名为的工具,允许您将PDB debug info字符串更改为所需的任何字符串(以及其他选项)。由于它可以在PE32文件上工作,所以二进制文件是托管(.NET)还是非托管代码并不重要。要更改PDB路径,可以使用:“peupdate-u”