I want to be able to serve files with a custom file path (js/v1/foo.js can be mapped to a real file at wwwroot/js/foo.js). I created VersionedFileProvider which could map that already. I set it like this:
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new CompositeFileProvider(
new VersionedFileProvider(env.WebRootPath),
env.WebRootFileProvider),
});
All files are working. However, if I use that custom path, asp-append-version does not work. When I check the source code, they are taking WebRootFileProvider instead of the one I am setting in UseStaticFiles.
Luckily, env.WebRootFileProvider is settable, so I can resolve the problem with:
env.WebRootFileProvider = new CompositeFileProvider(
new VersionedFileProvider(env.WebRootPath),
env.WebRootFileProvider);
app.UseStaticFiles();
However, I have to admit I do not know what else is using WebRootFileProvider and what side-effect can possibly happen. Please help me confirm this is a proper way to resolve my issue.
Confirm from development team the way I suggested in the question is recommended