To use cache busting you need to do the following
nuget : Install-Package Gibe.CacheBusting
dotnet add package Gibe.CacheBusting
You will need to add gulp-rev, gulp-rev-delete-original and gulp-filter to your package.json
Update the gulp file to then include rev(), revdel() and rev.manifest() in the process for building css and js
For example:
vargulp=require('gulp'),bower=require('gulp-bower'),sass=require('gulp-sass'),sourcemaps=require('gulp-sourcemaps'),concat=require('gulp-concat'),uglify=require('gulp-uglify'),rev=require('gulp-rev'),revdel=require('gulp-rev-delete-original'),filter=require('gulp-filter');gulp.task('css',function(){returngulp.src('./gulp/scss/**/*.scss').pipe(sourcemaps.init()).pipe(sass({outputStyle: 'compressed'})).pipe(sourcemaps.write('.')).pipe(gulp.dest('./css')).pipe(filter('**/*.css')).pipe(rev()).pipe(revdel()).pipe(gulp.dest('./css')).pipe(rev.manifest()).pipe(gulp.dest('./css'));});gulp.task('js',function(){returngulp.src(['./gulp/scripts/scripts-lib/**/*.js','./gulp/scripts/history.js/history.js','./gulp/scripts/history.js/history.adapter.jquery.js','./gulp/scripts/plugins/**/*.js','./gulp/scripts/site.js','./gulp/scripts/modules/**/*.js']).pipe(sourcemaps.init()).pipe(concat('site.js')).pipe(uglify()).pipe(sourcemaps.write('.')).pipe(gulp.dest('./js')).pipe(filter('**/*.js')).pipe(rev()).pipe(revdel()).pipe(gulp.dest('./js')).pipe(rev.manifest()).pipe(gulp.dest('./js'));});gulp.task('build',['css','js']);gulp.task('watch',function(){gulp.watch('./gulp/scss/**/*.scss',['css']);gulp.watch('./gulp/scripts/**/*.js',['js']);});Then you can add to web.config <configSections>
<sectionname="cacheBusting"type="Gibe.CacheBusting.Config.CacheBustingSection, Gibe.CacheBusting" />And add this section somewhere in <configuration> in your web.config
<cacheBusting>
<manifests>
<addpath="/css/"file="~/css/rev-manifest.json" />
<addpath="/js/"file="~/js/rev-manifest.json" />
</manifests>
</cacheBusting>Add to your ~/views/web.config : xml <add namespace="Gibe.CacheBusting" />
services.AddCacheBusting
Add to Application.json :
"CacheBusting": {
"/css/": "/css/rev-manifest.json",
"/js/": "/js/rev-manifest.json"
}
Use in your views @Url.Asset("/js/site.js")
This will automatically change the URL to the hashed version if found in the manifest.