在Visual Studio中,如何在运行(F5)后执行Post-Build事件?

6

我在Visual Studio 2010中设置了一个后构建事件。我的问题是:当我使用运行(F5)开始调试时,该事件不会运行——只有在我显式地构建(F6)时,它才会运行。

即使源文件已更改(因此必须构建才能运行),这种情况似乎仍然发生。

是否有一种设置可以控制此行为?

5个回答

12

Postbuilds只有在构建后才会运行。所以当您的构建生成物已经是最新的时候,它将不会进行构建,并且postbuilds也不会运行。

如果即使在必须构建时它也不会运行,请检查以下内容:

在Visual Studio中查看“工具”->“选项”->“项目和解决方案”->“生成和运行”。
是否选中了“仅在运行时构建启动项目和依赖项”的选项?

尝试取消选中该选项。

选项“在运行时,当项目过期时”的值是多少?应该设置为“提示构建”或“始终构建”,以确保按下F5时触发构建。


设置“始终生成”不会在按下F5后触发后期生成事件。它只会在项目过时时发生,就像选项标签清楚地显示的那样。 - Allon Guralnek
是的,你说得对,但我只是想确保它不是在“从不构建”中。 - Jan
嗯,设置已经按照您的说明进行了。从您的回答中,似乎您是在说当我按F5时(假设需要构建项目),后期构建应该会触发? - Phil Sandler
是的,当项目构建时,后构建应该运行。问题是,当你按F5键时,项目是否正在构建?你应该在输出窗口中看到详细的日志记录正在发生什么。 - Jan
1
这对我有用。虽然它为什么有效有点令人困惑。 - Wouter Schut

1

1

只有在成功构建之后才能运行。这就是为什么它被称为后构建事件。

也许你尝试实现的目标可以用不同的方式完成。请您提供更多细节,您想要做什么?您想在每个调试会话之前运行什么,以及为什么要这样做?


0

检查命令是否正确。一个简单的例子是:

copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt"

更简单的是:calc。提问者的构建事件很好,因为正如他所提到的那样,它在构建时运行。 - Allon Guralnek

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接