From 0f36db188e6daa4719260a87c6ec6d8d36086775 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Wed, 9 Dec 2020 09:03:49 +0100 Subject: [PATCH] Ensure folder app_plugins exists --- .../BackOfficeApplicationBuilderExtensions.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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 });