我在Visual Studio 2010中设置了一个后构建事件。我的问题是:当我使用运行(F5)开始调试时,该事件不会运行——只有在我显式地构建(F6)时,它才会运行。
即使源文件已更改(因此必须构建才能运行),这种情况似乎仍然发生。
是否有一种设置可以控制此行为?
我在Visual Studio 2010中设置了一个后构建事件。我的问题是:当我使用运行(F5)开始调试时,该事件不会运行——只有在我显式地构建(F6)时,它才会运行。
即使源文件已更改(因此必须构建才能运行),这种情况似乎仍然发生。
是否有一种设置可以控制此行为?
Postbuilds只有在构建后才会运行。所以当您的构建生成物已经是最新的时候,它将不会进行构建,并且postbuilds也不会运行。
如果即使在必须构建时它也不会运行,请检查以下内容:
在Visual Studio中查看“工具”->“选项”->“项目和解决方案”->“生成和运行”。
是否选中了“仅在运行时构建启动项目和依赖项”的选项?
尝试取消选中该选项。
选项“在运行时,当项目过期时”的值是多少?应该设置为“提示构建”或“始终构建”,以确保按下F5时触发构建。
只有在成功构建之后才能运行。这就是为什么它被称为后构建事件。
也许你尝试实现的目标可以用不同的方式完成。请您提供更多细节,您想要做什么?您想在每个调试会话之前运行什么,以及为什么要这样做?
检查命令是否正确。一个简单的例子是:
copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt"
calc
。提问者的构建事件很好,因为正如他所提到的那样,它在构建时运行。 - Allon Guralnek