ILMerge-命令已退出,代码为255

本文关键字:代码 退出 命令 ILMerge- | 更新日期: 2023-09-27 18:20:20

我正在尝试使用ILMerge将DLL嵌入到单个可执行文件中。

我在构建事件>构建后事件命令行中添加了此命令行:

C:'Program Files'Microsoft'ILMerge'ILMerge.exe /out:$(TargetDir)Publish.exe 
($TargetDir)foo.dll

但当我尝试运行它时,我会得到以下错误:

命令"C:''Program Files''Microsoft''ILMerge''ILMerge.exe/out:C:''Publish.exe($TargetDir)foo.dll"退出,代码为255

我该怎么解决这个问题?

ILMerge-命令已退出,代码为255

查看错误消息,我认为

($TargetDir)foo.dll 

应该是

$(TargetDir)foo.dll

我相信这里发生的事情是,ILMerge在访问文件系统并简单地将该值传播到其退出代码时遇到了错误。窗口中的错误255映射到ERROR_EA_LIST_INCONSISTENT

我试着查找该错误的原因,不幸的是,大多数答案都表明文件系统损坏是原因。

  • http://answers.microsoft.com/en-us/windows/forum/windows_vista-system/the-extended-attributes-are-inconsistent/129b7935-2da2-47b2-8b4d-e8b581e12b54
  • http://www.vistaheads.com/forums/microsoft-public-windows-vista-general/93248-extended-attributes-inconsistent.html

您在使用其他工具接触有问题的文件时是否看到此错误?许多其他报告在explorer中看到了相同的错误,所以我会尝试查看、打开等。。。使用explorer,看看你是否遇到同样的问题。如果你这样做了,结果就不好了,因为表明你的硬盘坏了。

希望其他人能给出一个更愉快的答案。

退出代码255意味着Studio找不到您要求它执行的文件。检查您的路径,并记住在带有空格的路径周围加引号

我记得当一个外部脚本使用Shell/Command Prompt访问EXE时,我收到了这个错误。

其中一个原因可能是工作目录设置不正确。

因此,在调用EXE/DLL之前,必须正确设置工作目录(可执行文件所在的位置)。