nathanwoulfe/Plumber-2

Plugin causes website to crash (500 error)

gdaythom opened this issue · 3 comments

Describe the bug
Attempting to get Plumber2 working on localhost with my instance of Umbraco 8.13.

To Reproduce
Steps to reproduce the behavior:

  1. Manually add all the relevant files to the Umbraco website filesystem.
  2. Create a blank test.lic.
  3. Start IIS Express.

Expected behavior
The Umbraco website boots as normal. And the Plumber plugin is accessible via the CMS.

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot 2021-09-30 at 18 01 48
Screenshot 2021-09-30 at 18 02 06

Desktop (please complete the following information):

  • Windows 10
  • Umbraco 8.13
  • IIS Express

Plumber version
v1.6.8

Licensed version?
Yes. This is a licensed version.

Additional context
We've been talking on Twitter. I changed a .nuget file into a .zip file and then manually moved the relevant files to the website filesystem. Trying to get this running locally first before I deploy to Staging and then Production.

I've tried using a blank test.lic. And a test.lic with the JSON object like your example in the repository. The logs seem to indicate that the licence can't be found.

{"@t":"2021-09-30T08:00:58.3464527Z","@mt":"{FailMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Error","@x":"Umbraco.Core.Exceptions.BootFailedException: Boot failed. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Portable.Licensing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.\r\n at Plumber.Core.Licensing.Validate(Tuple2 licenseAndKey, ILogger logger)\r\n at Plumber.Web.Components.LicensingComponent.Initialize() in D:\a\1\s\Plumber.Web\Components\LicensingComponent.cs:line 39\r\n at Umbraco.Core.Composing.ComponentCollection.Initialize()\r\n at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer)\r\n --- End of inner exception stack trace ---","FailMessage":"Boot failed.","Duration":8367,"TimingId":"499d513","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":9432,"ProcessName":"iisexpress","ThreadId":1,"AppDomainId":2,"AppDomainAppId":"LMW3SVC6ROOT","MachineName":"MSEDGEWIN10","Log4NetLevel":"ERROR","HttpRequestNumber":1,"HttpRequestId":"32778d92-59a3-4abb-9142-83bdca1c9f21"}
{"@t":"2021-09-30T08:00:58.6492997Z","@mt":"An unhandled exception occurred","@l":"Error","@x":"Umbraco.Core.Exceptions.BootFailedException: Boot failed: Umbraco cannot run. See Umbraco's log file for more details.\n\n-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.\n\n-> System.IO.FileNotFoundException: Could not load file or assembly 'Portable.Licensing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.\n at Plumber.Core.Licensing.Validate(Tuple2 licenseAndKey, ILogger logger)\r\n at Plumber.Web.Components.LicensingComponent.Initialize() in D:\\a\\1\\s\\Plumber.Web\\Components\\LicensingComponent.cs:line 39\r\n at Umbraco.Core.Composing.ComponentCollection.Initialize()\r\n at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer)\r\n at Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException)\r\n at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)\r\n at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)","SourceContext":"Umbraco.Web.UmbracoApplicationBase","ProcessId":9432,"ProcessName":"iisexpress","ThreadId":13,"AppDomainId":2,"AppDomainAppId":"LMW3SVC6ROOT","MachineName":"MSEDGEWIN10","Log4NetLevel":"ERROR","HttpRequestNumber":2,"HttpRequestId":"0452d111-d383-42ae-bae3-43ec1240e006"} {"@t":"2021-09-30T08:00:58.8713493Z","@mt":"An unhandled exception occurred","@l":"Error","@x":"Umbraco.Core.Exceptions.BootFailedException: Boot failed: Umbraco cannot run. See Umbraco's log file for more details.\n\n-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.\n\n-> System.IO.FileNotFoundException: Could not load file or assembly 'Portable.Licensing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.\n at Plumber.Core.Licensing.Validate(Tuple2 licenseAndKey, ILogger logger)\r\n at Plumber.Web.Components.LicensingComponent.Initialize() in D:\a\1\s\Plumber.Web\Components\LicensingComponent.cs:line 39\r\n at Umbraco.Core.Composing.ComponentCollection.Initialize()\r\n at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer)\r\n at Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException)\r\n at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)\r\n at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)","SourceContext":"Umbraco.Web.UmbracoApplicationBase","ProcessId":9432,"ProcessName":"iisexpress","ThreadId":11,"AppDomainId":2,"AppDomainAppId":"LMW3SVC6ROOT","MachineName":"MSEDGEWIN10","Log4NetLevel":"ERROR","HttpRequestNumber":3,"HttpRequestId":"cbd7fe25-9a8e-4529-880e-5fb352c13c70"}`

Hey @gdaythom, it's definitely a missing file, but not the license - Plumber has a dependency on Portable.Licensing, and won't run without it.

Normally that would be resolved by NuGet, so you'll probably need to do the same as with Plumber - download the NuGet package, change to zip, extract, then add the DLL to /bin.

Thank you so much for your support @nathanwoulfe. All is resolved now.

Cheers @gdaythom, glad to hear it's working.