0

我将预构建事件设置为:

$(TargetDir)MyConsoleApp

但是当我运行应用程序时,我得到以下输出:

------ Build started: Project: BlahBlahBlah, Configuration: Debug x86 ------

'd:\users\user\documents\visual' is not recognized as an internal or external 
command, operable program or batch file.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(902,9):
error MSB3073: The command "d:\users\user\documents\visual studio 2010\Projects\
BlahBlahBlah\BlahBlahBlah\bin\Debug\MyConsoleApp" exited with code 9009.

========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

指定目标上的文件 MyConsoleApp 确实存在并且可以从 Windows 资源管理器中正常运行。

4

2 回答 2

2

TargetDir 变量在您的情况下包含空格。您需要在命令周围加上引号:

"$(TargetDir)MyConsoleApp"
于 2010-08-31T23:02:59.453 回答
2

不完全正确,我遇到了同样的错误,而且我的参数之间没有一个空格字符。我相信 Visual Studio 只是被这些事情难住了,想知道为什么它在这方面没有得到改进。

无论如何,我通过创建一个批处理文件然后使用批处理文件位置参数从 Post BUild 事件调用该批处理文件来解决它:

MyPostBuildCommands.bat $(SolutionDir) $(ProjectDir) $(OutDir)

于 2012-04-03T22:35:50.003 回答