【问题标题】:ILMerge - the command exited with code 255ILMerge - 以代码 255 退出的命令
【发布时间】:2012-01-14 02:06:46
【问题描述】:

我正在尝试使用 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 退出

我该如何解决这个问题?

【问题讨论】:

  • this 回答的 cmets 可能会有所帮助。
  • 你有C:root的写权限吗?

标签: c# .net ilmerge


【解决方案1】:

看错误信息,我觉得

($TargetDir)foo.dll 

应该是

$(TargetDir)foo.dll

【讨论】:

  • 什么是 TargetDir 在合并?
【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-26
        • 1970-01-01
        • 2021-04-08
        • 2019-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多