gpt4 book ai didi

.net - 在使用 ILMerge/Costura 组合程序集后,有什么方法可以让 VS (2010) 接受 PDB?

转载 作者:行者123 更新时间:2023-12-04 21:46:58 27 4
gpt4 key购买 nike

这个问题的相关性超出了我自己的情况,因为任何拥有本地化应用程序并且必须提供独立 EXE 的人都会遇到这个问题——他们会想要使用 ILMerge(或 Costura 或一些自制解决方案)来放置本地化 DLL(或任何其他程序集) ) 进入他们的 EXE——但是一旦他们这样做,他们就不能再调试他们的代码。 VS 调试器只会拒绝接受为原始 EXE 生成的原始 PDB 文件,大概是因为 ILMerge 步骤更新了校验和或更改了 GUID。

我想知道是否有办法解决这个问题......就像一些鲜为人知的 ILMerge 选项,也许?在我看来,这是一种非常常见且不必要的调试能力损失。

我相信在本地化之后调试此类应用程序的唯一其他方法是维护一个使用未 ILMerged 的​​ DLL 的并行构建选项,这很好,除非您碰巧想要调试本地化代码本身(例如,我)。 . 那你真的不走运了。谁能想到其他选择?

我也尝试过使用 Costura,但是因为本地化 DLL 都包含同名的资源(并且与主资源 AppName.resource 相同),所以您只能向引用添加一个这样的 DLL:不允许后续的。有什么办法可以欺骗 Costura 工作吗? (如果它可以工作,则可能不会发生 PDB 问题,因为该组合是 Visual Studio 构建的一部分......?)

编辑:我正在寻找导致 PDB/EXE 匹配的想法。我意识到您可以在十六进制编辑器中破解 pdb。不过,这个问题特别询问了使系统按预期工作的方法。

最佳答案

ILMerge 还将生成合并的 pdb。您是否关闭了此选项,或者合并的 pdb 也不适合您?

关于.net - 在使用 ILMerge/Costura 组合程序集后,有什么方法可以让 VS (2010) 接受 PDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com