2012-06-14 91 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