ILMerge&保持大会名称(ILMerge & Keep Assembly Name)

2019-09-23 15:53发布

我需要合并一些DLL和这两个文件的名称和程序集名称必须相同作为我的主要DLL(MYDLL.DLL)。 我还需要PDB文件。 我如何得到这个工作?

下面是我试了几件事情:

  • 只需使用ILMerge MYDLL.DLL .... /out:mydll.dll这种失败,“访问路径... mydll.pdb被拒绝。”

  • 重命名MYDLL.DLL到mydllTemp.dll和mydll.pdb到mydllTemp.pdb然后ILMerge mydelltemp.dll .... /out:mydll.dll这种失败,“与... mydlltemp.dll相关的PDB已过时“我想这是因为ilmerge着眼于集名称找到PDB,因此它看起来为其改名mydll.pdb。

  • 重命名MYDLL.DLL到mydllTemp然后ILMerge mydelltemp.dll .... /out:mydll.dll这工作没有错误,但是当我调试器附加到一个进程并不触发

  • ILMerge MYDLL.DLL ... /out:mydlltemp.dll重命名mydlltemp.dll到MYDLL.DLL和mydlltemp.pdb到现在mydll.pdb我可以调试器附加到一个进程与正被触发的断点。 但是,大会名称现在是mydlltemp代替MYDLL

所以,我怎么能得到这个工作,并有原厂组装的名字吗?

Answer 1:

你并没有真正提的是,这是在标准开发的过程中,或者如果这是构建过程的一部分。

如果它是标准制定,你真的需要的一切合并只是为了测试的东西出来?

如果它是你的构建过程中,您可以输出到不同的目录(你可能需要MKDIR第一),然后就可以重复使用相同的组件名称。



Answer 2:

合并到另一个目录,使用/out:somedir\mydll.dll



文章来源: ILMerge & Keep Assembly Name