尝试合并pdb文件时出现ILMerge异常

Ska*_*lli 11 c# ilmerge .net-4.0 visual-studio-2010

我正在尝试将两个程序集合并为一个程序集,它可以很好地工作.然而,当我尝试合并*.pdb文件时,我收到一个错误:

访问路径"F:\ Fentec\Businessplan\trunk\Ausgabe\Debug\modules\Planrechnung\Planrechnung.pdb"被拒绝.

如果我使用/ ndebug选项以跳过合并*.pdb文件,它可以正常工作.但是当然在调试时无法加载符号.起初我想在postbuild事件中调用ILMerge时,Planrechung.pdb正在使用并被锁定.我也尝试关闭VS2010并从命令行调用ILMerge,但结果保持不变.我检查过ProcessExplorer,文件上没有句柄.

这就是我称之为ILMerge的方式:

E:\ XP\Tools\ILMerge\ilmerge /targetplatform:v4,"D:\WINDOWS\Microsoft.NET\Framework\v4.0.30319"/ lib:"F:\ Fentec\Businessplan\trunk\Ausgabe\Debug\bin" /out:Planrechnung.dll"F:\ Fentec\Businessplan\trunk\Ausgabe\Debug\modules\Planrechnung\Planrechnung.dll""F:\ Fentec\Businessplan\trunk\Ausgabe\Debug\modules\Mandantenverwaltung\Mandantenverwaltung.dll"

我错过了什么吗?如果您需要任何其他信息,请询问.

问候,
Skalli

Ska*_*lli 21

我找到了问题的解决方案,这有点令人尴尬.

输出名称不能与其中一个合并的pdb文件的名称相同.否则会出现此问题.当我更改装配的名称时,它工作得很好.在进程中覆盖程序集也没问题,但是你不能覆盖现有的pdb文件.
我没想到这一点,偶然发现了它.对不起,所有的烦恼

问候,
Skalli

  • 如果您指定某个其他 \output 目录,则不会发生此类错误并且您不必更改名称。 (2认同)