【问题标题】:Visual Studio Post-Rebuild / Post-NoBuild Event?Visual Studio Post-Rebuild / Post-NoBuild 事件?
【发布时间】:2021-03-13 22:54:56
【问题描述】:

我正在做一个项目,当有人点击“F5”或“F6”时,我需要一个脚本来执行,即使项目中的代码没有改变。

脚本负责从不同的目录复制数据 - 可能已更改的数据。

我注意到这可以作为构建后事件正常工作,但前提是项目实际上是重新构建的。如何在无需每次都清理的情况下触发事件?

【问题讨论】:

  • 很难回答没有更多细节,但有两个可能性:(a)将您的脚本作为pre-构建执行; (b) 通过包含要复制到项目中的数据文件,将脚本添加为自定义构建工具。
  • @AdrianMole 实际上我确实将它作为预构建脚本,但是如果您没有对项目中的代码进行任何更改,则实际上永远不会调用预构建脚本,因为“构建”永远不会发生。上下文是我正在为我正在学习的课程构建游戏引擎,我们与可能对艺术资产进行更改的艺术家合作,当您启动调试器时,这些资产需要复制到输出目录,无论是否需要编译新代码。不过,我想出了一个解决方案,如果它对我的要求有任何明确性,请将其发布在下面。

标签: visual-studio build msbuild


【解决方案1】:

这些是我设置脚本以在需要时运行的步骤:

  1. 打开的项目 > 属性
  2. 导航到自定义构建步骤 > 常规
  3. 将脚本命令放在“命令行”字段中
  4. 设置任意输出文件名(这是必需的,如果您没有输出文件名,Visual Studio 将跳过您的自定义构建步骤)我选择了任意文件名“.filename”还让脚本向该文件输出日志
  5. 将“Execute After”字段设置为“FinalizeBuildStatus” 这可确保在建立构建状态后执行命令(当您按 F5 或 F6 时会发生这种情况,即使您没有更改项目中的任何代码)。

我很惊讶没有在网上其他地方清楚地列出这些步骤。也许我不擅长谷歌搜索,但由于我解决了自己的问题,我发现只有在其他人遇到这个问题时才适合分享。

【讨论】:

  • 既然你有解决方法,我建议你可以标记你自己的答案:)
  • 是的,谢谢,我必须等待两天才能这样做,但忘了:)
猜你喜欢
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
相关资源
最近更新 更多