我正在尝试使用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
我该如何解决这个问题?
答案 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之前,必须正确设置工作目录(可执行文件所在的位置)。