我想在每次构建之前运行一些自定义批处理代码.在 VS<11/C# 应用程序中,我可以在项目设置中设置预构建事件.我在 javascript Metro VS11 解决方案中找不到类似的设置.
I want to run some custom batch code just before every build. In a VS<11/C# app I could set the pre-build events in the project settings. I can't find similar settings in a javascript metro VS11 solution.
任何人都知道它在哪里,或者如果选项消失了(!)我可以采取什么样的解决方法来代替它?
Anyone know where it is, or if the option is gone (!) what kind of workaround I can do in its place?
您可以使用 Visual Studio .jsproj 文件中的 BeforeBuild 目标来完成此操作:
You can use the BeforeBuild target in the Visual Studio .jsproj file to accomplish this:
<Target Name="BeforeBuild"></Target>
<Target Name="AfterBuild"></Target>
到达这里:
取消注释 BeforeBuild 目标并在其中添加您的自定义步骤.您可以使用该元素执行命令行脚本;与 C# 预构建步骤中相同的 $ 变量可用(例如 $(ProjectDir)).您可以做的不仅仅是在 Target 中调用命令行脚本,但这与您通常使用 C# 预构建步骤所做的最接近.
Uncomment the BeforeBuild target and add your custom step inside of it. You can use the element to execute a command line script; the same $ variables are available as in C# pre-build steps (e.g. $(ProjectDir)). You can do more than call command line scripts in a Target, but this is closest to what you would normally do with C# pre-build steps.
例如,以下代码将调用一个名为 processFile.bat 的批处理文件,并传递一个指向项目根目录中 default.js 的路径和一个输出路径,以在项目的输出目录中创建一个名为 output.js 的文件(例如/bin/Debug 模式):
As an example, the following code would call a batch file named processFile.bat passing it a path to default.js in the project root and an output path to create a file named output.js in the project's output directory (e.g. /bin/Debug in Debug mode):
<Target Name="BeforeBuild">
<Exec Command="processFile.bat "$(ProjectDir)default.js" "$(OutDir)output.js"">
</Target>
注意:"故意在 Command 参数中,这样可以确保两个参数在传递给 processFile.bat 并通过 cmd.exe 调用时被引用.
Note: The " is on purpose inside of the Command arguments, this makes sure the two parameters are quoted when passed to processFile.bat and called via cmd.exe.
这篇关于如何在 VS11 中为 javascript Metro 应用程序创建预构建步骤?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!