ILMerge - 退出代码为255的命令

时间:2012-01-14 02:06:46

标签: c# .net ilmerge

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

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

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

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

查看错误消息,我认为

($TargetDir)foo.dll 

应该是

$(TargetDir)foo.dll

答案 1 :(得分:1)

我相信这里发生的事情是ILMerge在访问文件系统时遇到错误,只是将该值传播到它的退出代码。 Windows中的错误255映射到ERROR_EA_LIST_INCONSISTENT

我尝试搜索该错误的原因,遗憾的是大多数答案表明文件系统损坏是原因。

使用其他触摸相关文件的工具时,您是否看到此错误?许多其他报告看到与资源管理器相同的错误,所以我会尝试查看,打开等...与资源管理器,看看你是否得到相同的问题。如果你这样做,那么结果并不好,因为建议你的硬盘坏了。

希望其他人会得到一个更开朗的回答。

答案 2 :(得分:1)

退出代码255表示Studio无法找到您要求它执行的文件。 检查您的路径并记住在带有空格的路径周围加上引号

答案 3 :(得分:0)

我记得当外部脚本使用Shell /命令提示符访问EXE时,我收到此错误。

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

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