2012-06-14 60 views
1

我得到一個錯誤,在編譯時使用Visual Studio 2010我的C#-code在Windows 7錯誤與生成後事件命令

我有這些生成事件(生成後事件命令行):

if not "$(ConfigurationName)"=="Release" goto :finish 
"$(TargetDir)mt.exe" -manifest "$(ProjectDir)$(TargetName).exe.manifest" –outputresource:"$(TargetDir)$(TargetFileName)";#1 
"$(ProjectDir)ILMerge.exe" /out:"$(TargetDir)Merged\Software.exe" "$(TargetPath)" "$(ProjectDir)bin\x86\Dlls\mwc.dll" "$(ProjectDir)bin\x86\Dlls\Interop.Access.dll" "$(ProjectDir)bin\x86\Dlls\Interop.DAO.dll" 
:finish 

如果我刪除:$(ProjectDir)bin\x86\Dlls\Interop.Access.dll一切都很好。有了這個代碼,我得到這個錯誤,如果我重建我的代碼:

退出,代碼爲1

我認爲它沒有找到DLL文件,但它的存在。我已經檢查了很多次...

我不知道如何解決這個問題。

@edit:對不起,我犯了一個錯誤,這是目前正確的代碼...它一點兒也不反正工作

回答

1

你在的$(ProjectDir)bin\x86\Dlls\Interop.Access.dll

到底缺少右引號
"$(ProjectDir)ILMerge.exe" /out:"$(TargetDir)Merged\Software.exe" "$(TargetPath)" "$(ProjectDir)bin\x86\Dlls\mwc.dll" "$(ProjectDir)bin\x86\Dlls\Interop.Access.dll "$(ProjectDir)bin\x86\Dlls\Interop.DAO.dll" 

應該是...

"$(ProjectDir)ILMerge.exe" /out:"$(TargetDir)Merged\Software.exe" "$(TargetPath)" "$(ProjectDir)bin\x86\Dlls\mwc.dll" "$(ProjectDir)bin\x86\Dlls\Interop.Access.dll" "$(ProjectDir)bin\x86\Dlls\Interop.DAO.dll" 
1

有沒有簡單的方法來調試post-build腳本。 我個人使用的可能方法之一是在控制檯中單獨執行suspicios行,並希望得到更詳細的解釋。

因此,請嘗試使用您在後期構建事件中使用的命令行參數來執行ILMerge,然後查看會發生什麼情況。

祝你好運。

+0

當我嘗試執行ilmerge我得到「退出代碼9009」錯誤 - 這可能是什麼? – BobSki