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 });
    }
示例#2
0
        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);
        }