我在Visual Studio 2010中设置了一个构建后事件。我遇到的问题是当我使用Run(F5)开始调试时事件没有运行 - 它似乎只在我明确地运行时运行建立(F6)。
即使源文件已更改(因此必须构建以便运行),这似乎也会发生。
是否有控制此行为的设置?
答案 0 :(得分:10)
Postbuild只在建造后运行。因此,当您的构建工件是最新的时,它将不会构建,并且后构建将不会运行。
如果在构建时甚至无法运行,请检查以下内容:
在Visual Studio中查看工具 - >选项 - >项目和解决方案 - >建立一个运行。
选中“仅在运行时构建启动项目和依赖项”选项吗?
尝试取消选中该选项。
选项“On Run,项目何时过期”的价值是多少? 它应该是“提示构建”或“始终构建”,以确保在按F5时触发构建。
答案 1 :(得分:1)
它只在成功构建后运行。这就是为什么它被称为Post- 构建事件。
也许你想要完成的事情可以用不同的方式完成。你能告诉我更多细节吗?你想做什么?在每次调试会话之前,您想要运行什么?为什么?
答案 2 :(得分:1)
请参阅Visual Studio: Run C++ project Post-Build Event even if project is up-to-date
使用自定义构建步骤将非现有文件作为输出,以始终运行您的步骤。
答案 3 :(得分:0)
检查命令是否正确。一个简单的例子是:
copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt"
答案 4 :(得分:0)
我开发了一个简单的VisualStudio AddIn,它拦截start命令并在实际启动项目之前重建解决方案。
也许对其他人有用: https://skydrive.live.com/redir.aspx?id=3dc36fae9ccfb71f&resid=3DC36FAE9CCFB71F!112&parid=root (BuildAndRunAddin.zip)