在 Gulp 或 Grunt 中获取项目平台和配置
Get project platform and configuration in Gulp or Grunt
不知能否在gulpfile.js
或gruntfile.js
中得到ASP.NET
项目配置和平台?我的意思是例如Debug|AnyCPU
个值。
是的,你可以,但出于显而易见的原因,你只能从知道这些细节的工具调用 gulp,例如msbuild.
假设您刚刚使用 Visual Studio 2015 为 .NET 4.5.2 创建了一个全新的空 ASP.NET Web 应用程序,您可以将类似的内容添加到 Build
或AfterBuild
Target
:
<exec command='gulp --env="$(Configuration)|$(Platform)"' />
然后您需要 parse arguments in gulp,例如使用 yargs
:
require('gulp').task("default", function() {
console.log(require('yargs').argv.env);
});
如果你在 Visual Studio:
中构建,这将编写类似这样的内容
1>------ Rebuild All started: Project: GulpFromMsbuild, Configuration: Release Any CPU ------
1> GulpFromMsbuild -> D:\GulpFromMsbuild\bin\GulpFromMsbuild.dll
1> [20:07:41] Using gulpfile D:\GulpFromMsbuild\gulpfile.js
1> [20:07:41] Starting 'default'...
1> Release|AnyCPU
1> [20:07:41] Finished 'default' after 36 ms
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
所以基本上有两种成分:
- 从调用工具(msbuild、teamcity、powershell 等)传递模式;
- 解析 gulp 中的参数(yargs 等);
我假设 Grunt 有一个类似的参数解析工具...
不知能否在gulpfile.js
或gruntfile.js
中得到ASP.NET
项目配置和平台?我的意思是例如Debug|AnyCPU
个值。
是的,你可以,但出于显而易见的原因,你只能从知道这些细节的工具调用 gulp,例如msbuild.
假设您刚刚使用 Visual Studio 2015 为 .NET 4.5.2 创建了一个全新的空 ASP.NET Web 应用程序,您可以将类似的内容添加到 Build
或AfterBuild
Target
:
<exec command='gulp --env="$(Configuration)|$(Platform)"' />
然后您需要 parse arguments in gulp,例如使用 yargs
:
require('gulp').task("default", function() {
console.log(require('yargs').argv.env);
});
如果你在 Visual Studio:
中构建,这将编写类似这样的内容1>------ Rebuild All started: Project: GulpFromMsbuild, Configuration: Release Any CPU ------ 1> GulpFromMsbuild -> D:\GulpFromMsbuild\bin\GulpFromMsbuild.dll 1> [20:07:41] Using gulpfile D:\GulpFromMsbuild\gulpfile.js 1> [20:07:41] Starting 'default'... 1> Release|AnyCPU 1> [20:07:41] Finished 'default' after 36 ms ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
所以基本上有两种成分:
- 从调用工具(msbuild、teamcity、powershell 等)传递模式;
- 解析 gulp 中的参数(yargs 等);
我假设 Grunt 有一个类似的参数解析工具...