Hey Guys,
we're facing this issue since we recently migrated from NopCommerce v3.8 to v4.2. The store is running as Azure App Service and we are desperately searching a solution.
The web app goes down approximately once a day - whenever the gods of Azure recycle the AppPool - and does not recover without restarting the Azure App Service manually.
Here's what we found in our Application Insights logs. Maybe this helps and "Sharing is caring"...
The message:
Plugin 'Seven Spikes Core'. Could not load file or assembly 'D:\home\site\wwwroot\Plugins\bin\SevenSpikes.Nop.Plugins.Core.dll'. Access is denied.
Could not load file or assembly 'D:\home\site\wwwroot\Plugins\bin\SevenSpikes.Nop.Plugins.Core.dll'. Access is denied.
Plugin 'Seven Spikes Core'. Could not load file or assembly 'D:\home\site\wwwroot\Plugins\bin\SevenSpikes.Nop.Plugins.Core.dll'. Access is denied. Could not load file or assembly 'D:\home\site\wwwroot\Plugins\bin\SevenSpikes.Nop.Plugins.Core.dll'. Access is denied.
The stacktrace:
System.Exception:
at Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.InitializePlugins (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ApplicationPartManagerExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 579)
at Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions.ConfigureApplicationServices (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ServiceCollectionExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 75)
at Nop.Web.Startup.ConfigureServices (Nop.Web, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web\Startup.csNop.Web, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 43)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices (Microsoft.AspNetCore.Hosting, Version=2.2.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices (Microsoft.AspNetCore.Hosting, Version=2.2.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize (Microsoft.AspNetCore.Hosting, Version=2.2.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication (Microsoft.AspNetCore.Hosting, Version=2.2.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
Interne Ausnahme "System.Exception" behandelt bei "Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.InitializePlugins":
at Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.InitializePlugins (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ApplicationPartManagerExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 568)
Interne Ausnahme "System.IO.FileLoadException" behandelt bei "Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.InitializePlugins":
at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Reflection.Assembly.LoadFrom (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at System.Reflection.Assembly.UnsafeLoadFrom (System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
at Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.AddApplicationParts (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ApplicationPartManagerExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 160)
at Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.PerformFileDeploy (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ApplicationPartManagerExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 208)
at Nop.Web.Framework.Infrastructure.Extensions.ApplicationPartManagerExtensions.InitializePlugins (Nop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=nullNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: C:\Users\devusr\nopCommerce_42\src\Presentation\Nop.Web.Framework\Infrastructure\Extensions\ApplicationPartManagerExtensions.csNop.Web.Framework, Version=4.2.0.0, Culture=neutral, PublicKeyToken=null: 532)
Our current appsettings.json
...
"ClearPluginShadowDirectoryOnStartup": true,
"CopyLockedPluginAssembilesToSubdirectoriesOnStartup": false,
"UsePluginsShadowCopy": true,
"UseUnsafeLoadAssembly": true,
...
Guys, from my opinion this is serious and the bug seems to be quite old...