|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System.IO; |
|
|
|
using System.Linq; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using JetBrains.Annotations; |
|
|
|
using Microsoft.AspNetCore.Hosting; |
|
|
|
@ -9,8 +10,10 @@ using Microsoft.AspNetCore.StaticAssets; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using Microsoft.Extensions.FileProviders; |
|
|
|
using Microsoft.Extensions.Hosting; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
using Volo.Abp; |
|
|
|
using Volo.Abp.AspNetCore; |
|
|
|
using Volo.Abp.AspNetCore.Auditing; |
|
|
|
using Volo.Abp.AspNetCore.ExceptionHandling; |
|
|
|
using Volo.Abp.AspNetCore.Security; |
|
|
|
@ -184,6 +187,27 @@ public static class AbpApplicationBuilderExtensions |
|
|
|
// https://github.com/dotnet/aspnetcore/issues/59673
|
|
|
|
app.UseStaticFiles(); |
|
|
|
|
|
|
|
if (!staticAssetsManifestPath.IsNullOrWhiteSpace()) |
|
|
|
{ |
|
|
|
app.ApplicationServices.GetRequiredService<ILogger<AbpAspNetCoreModule>>().LogWarning( |
|
|
|
$"The staticAssetsManifestPath({staticAssetsManifestPath}) parameter your provided in MapAbpStaticAssets method is ignored in development mode."); |
|
|
|
} |
|
|
|
|
|
|
|
var blazorClientProjectPaths = new[] |
|
|
|
{ |
|
|
|
Path.Combine(AppContext.BaseDirectory, $"{environment.ApplicationName}.Client.staticwebassets.endpoints.json"), |
|
|
|
Path.Combine(AppContext.BaseDirectory, $"{environment.ApplicationName.RemovePostFix(".Host")}.Blazor.staticwebassets.endpoints.json"), |
|
|
|
}; |
|
|
|
|
|
|
|
var blazorClientStaticAssetsManifest = blazorClientProjectPaths.FirstOrDefault(File.Exists); |
|
|
|
if (blazorClientStaticAssetsManifest != null) |
|
|
|
{ |
|
|
|
// We have a blazor client project and we need to map the static assets from the client project.
|
|
|
|
var blazorHostStaticAssetsManifest = Path.Combine(AppContext.BaseDirectory, $"{environment.ApplicationName}.staticwebassets.endpoints.json"); |
|
|
|
File.Copy(blazorClientStaticAssetsManifest, blazorHostStaticAssetsManifest, true); |
|
|
|
return endpoints.MapStaticAssets(blazorHostStaticAssetsManifest); |
|
|
|
} |
|
|
|
|
|
|
|
// Volo.Abp.AspNetCore.staticwebassets.endpoints.json is an empty file. Just compatible with the return type of MapAbpStaticAssets.
|
|
|
|
var tempStaticAssetsManifestPath = Path.Combine(AppContext.BaseDirectory, "Volo.Abp.AspNetCore.staticwebassets.endpoints.json"); |
|
|
|
if (!File.Exists(tempStaticAssetsManifestPath)) |
|
|
|
|