diff --git a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs index 84383b1d40..dd7c1b12fc 100644 --- a/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs +++ b/src/Umbraco.Web.BackOffice/Extensions/BackOfficeApplicationBuilderExtensions.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; @@ -65,11 +66,21 @@ namespace Umbraco.Extensions public static IApplicationBuilder UseUmbracoPlugins(this IApplicationBuilder app) { + var hostingEnvironment = app.ApplicationServices.GetRequiredService(); + var umbracoPluginSettings = app.ApplicationServices.GetRequiredService>(); + + var pluginFolder = hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.AppPlugins); + + // Ensure the plugin folder exists + Directory.CreateDirectory(pluginFolder); + + var fileProvider = new UmbracoPluginPhysicalFileProvider( + pluginFolder, + umbracoPluginSettings); + app.UseStaticFiles(new StaticFileOptions { - FileProvider = new UmbracoPluginPhysicalFileProvider( - app.ApplicationServices.GetRequiredService().MapPathContentRoot(Constants.SystemDirectories.AppPlugins), - app.ApplicationServices.GetRequiredService>()), + FileProvider = fileProvider, RequestPath = Constants.SystemDirectories.AppPlugins });