internal static void UseStaticWebAssetsCore(IWebHostEnvironment environment, Stream manifest) { var staticWebAssetManifest = ManifestStaticWebAssetFileProvider.StaticWebAssetManifest.Parse(manifest); var provider = new ManifestStaticWebAssetFileProvider( staticWebAssetManifest, (contentRoot) => new PhysicalFileProvider(contentRoot)); environment.WebRootFileProvider = new CompositeFileProvider(new[] { provider, environment.WebRootFileProvider }); }
internal static IFileProvider UseStaticWebAssets(IFileProvider fileProvider) { var manifestPath = ResolveRelativeToAssembly(); if (File.Exists(manifestPath)) { using var manifestStream = File.OpenRead(manifestPath); var manifest = ManifestStaticWebAssetFileProvider.StaticWebAssetManifest.Parse(manifestStream); if (manifest.ContentRoots.Length > 0) { var manifestProvider = new ManifestStaticWebAssetFileProvider(manifest, (path) => new PhysicalFileProvider(path)); return(new CompositeFileProvider(manifestProvider, fileProvider)); } } return(fileProvider); }