1

在 Windows 7 上使用 Visual Studio 2010 编译 C# 代码时出现错误。

我有这些构建事件(构建后事件命令行):

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:对不起,我犯了一个错误,现在这是正确的代码......它无论如何都不起作用

4

2 回答 2

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"
于 2012-06-14T08:42:27.580 回答
1

post-build调试脚本没有简单的方法。我个人使用的一种可能方法是在控制台中单独执行 suspicios 行,并希望能更详细地解释那里发生的事情。

因此,例如,尝试ILMerge使用您在构建后事件中使用的命令行参数执行,看看会发生什么。

祝你好运。

于 2012-06-14T08:43:02.037 回答