我有一个小的单页asp.net核心站点,只提供来自wwwroot的静态文件。我为这个站点提供了几种不同的环境/运行配置。我希望在发布每个配置之前根据我当前在构建时的环境运行不同的gulp任务,或者以其他方式根据我所在的版本准备我的静态文件。到目前为止,在asp.net核心中有什么方法可以做到这一点?
这个问题与How to rewrite a file before publish based on build configuration?非常相似,但除非有一种方法可以在部署后在服务器上运行gulp任务,否则最常见的答案在我的情况下不起作用。
答案 0 :(得分:2)
我通过手动将以下内容添加到.xproj
标记中的项目<Project>
文件中解决了问题:
<Target Name="BeforeBuild">
<Message Text="Running gulp task: $(ConfigurationName)" Importance="high" />
<Exec Command="cmd.exe /c gulp --color --gulpfile ".\gulpfile.js" $(ConfigurationName)" WorkingDirectory="$(ProjectDir)" />
</Target>
该命令将使用项目根目录中的Debug
以当前运行配置名称(例如Release
或gulpfile.js
)命名的任务执行gulp。
在我的gulp文件中,我为每个运行配置添加了这样的任务(对于Realese):
gulp.task('Release', function () {
// your release gulp steps here, eg. minification and rev-ing
});