如何在VS11中为javascript metro应用程序创建预构建步骤?

ten*_*npn 2 javascript windows-8 winjs visual-studio-2012

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

任何人都知道它在哪里,或者选项是否已经消失(!)我可以采用哪种解决方法?

Jor*_*sen 7

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

<Target Name="BeforeBuild"></Target>
<Target Name="AfterBuild"></Target>
Run Code Online (Sandbox Code Playgroud)

到这里:

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

取消注释BeforeBuild目标并在其中添加自定义步骤.您可以使用该元素执行命令行脚本; 可以使用与C#预构建步骤相同的$变量(例如$(ProjectDir)).您可以在目标中调用命令行脚本,但这与您通常使用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>
Run Code Online (Sandbox Code Playgroud)

注意:" 在Command参数内部是有意的,这可以确保在传递给processFile.bat并通过cmd.exe调用时引用这两个参数.