2

我想在每次构建之前运行一些自定义批处理代码。在 VS<11/C# 应用程序中,我可以在项目设置中设置预构建事件。我在 javascript Metro VS11 解决方案中找不到类似的设置。

任何人都知道它在哪里,或者如果选项消失了(!)我可以采取什么样的解决方法来代替它?

4

1 回答 1

7

您可以使用 Visual Studio .jsproj 文件中的 BeforeBuild 目标来完成此操作:

<Target Name="BeforeBuild"></Target>
<Target Name="AfterBuild"></Target>

到达这里:

  1. 在 Visual Studio 中右键单击您的项目,然后选择在 Windows 资源管理器中打开文件夹
  2. 在资源管理器中,右键单击 .jsproj 文件并选择打开方式...,然后选择记事本等编辑器
  3. 滚动到文件底部,您会注意到这两个 Target 部分已被注释掉

取消注释 BeforeBuild 目标并在其中添加您的自定义步骤。您可以使用该元素执行命令行脚本;与 C# 预构建步骤中相同的 $ 变量可用(例如 $(ProjectDir))。您可以做的不仅仅是在 Target 中调用命令行脚本,但这与您通常使用 C# 预构建步骤所做的最接近。

例如,下面的代码将调用一个名为 processFile.bat 的批处理文件,将它传递给项目根目录中 default.js 的路径和一个输出路径以在项目的输出目录中创建一个名为 output.js 的文件(例如 /bin/在调试模式下调试):

<Target Name="BeforeBuild">
    <Exec Command="processFile.bat &quot;$(ProjectDir)default.js&quot; &quot;$(OutDir)output.js&quot;">
</Target>

注意:“ 故意在 Command 参数中,这确保两个参数在传递给 processFile.bat 并通过 cmd.exe 调用时被引用。

于 2012-05-15T16:42:30.550 回答