2012-01-14 104 views
2

我正嘗試使用ILMerge將DLL嵌入到單個可執行文件中。ILMerge - 用代碼255退出的命令

我加在建事件>後生成事件命令行命令行:

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

但是當我嘗試運行它,我得到以下錯誤:

The command "C:\Program Files\Microsoft\ILMerge\ILMerge.exe /out:C:\Publish.exe ($TargetDir)foo.dll" exited with code 255

我怎麼能解決這個問題?

+0

從[這裏]的意見(HTTP:/ /stackoverflow.com/a/150092/635634)答案可能會有所幫助。 – 2012-01-14 02:30:58

+0

您是否擁有對C:root的寫入權限? – 2012-01-14 03:01:09

回答

1

我相信這裏發生的事情是ILMerge在訪問文件系統時遇到錯誤,並將該值傳播給它的退出代碼。在Windows中的錯誤255映射到ERROR_EA_LIST_INCONSISTENT

我試着找出那個錯誤的原因,不幸的是大多數答案表明文件系統損壞是原因。

使用的是觸摸有問題的文件等工具,當你看到這個錯誤?許多其他的報告看到與瀏覽器相同的錯誤,所以我會嘗試查看,打開等...與資源管理器,看看你是否得到同樣的問題。如果你這樣做,結果不好,因爲它建議你的硬盤壞了。

希望別人會有更愉快的回答。

0

我記得當外部腳本使用Shell/Command Prompt訪問EXE時,出現此錯誤。

其中一個原因可能是工作目錄設置不正確。

因此,在調用EXE/DLL之前,必須正確設置工作目錄(可執行文件所在的位置)。

1

退出碼255意味着Studio無法找到您要求它執行的文件。 檢查您的路徑,並記得把引號的路徑與空間

2

望着錯誤消息,我覺得

($TargetDir)foo.dll 

應該

$(TargetDir)foo.dll 
+0

什麼是TargetDir組合? – Ammar 2017-01-29 10:52:30

相關問題