Newtonsoft.Json nuget package fails on Electron.NET app
See original GitHub issue- Version: 13.5.1
NET 5 or NET 6 (tried both), Node: v16.14.0
- Target: Windows to start with
This is likely an issue with the versioning pattern of Newtonsoft.json but good to note if anyone else encounters this issue. You can grab a copy of my repo to reproduce the issue. https://github.com/domingoladron/LearnBlazor.ElectronNet/tree/bug/json-net-electon-net
It appears that if you run up a Blazor app inside Electron.NET and try to call anything using Newtownsoft.Json library (tried both 13.01 and 12.03), it will fail with the following error:
FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'. The system cannot find the file specified.
If you try this same thing when running the app as a web app (IIS, Docker, etc.) it works fine.
I’ve added a blob of simple JSON deserialisation using the Newtonsoft.JSON JsonConvert class to the Index.razor page to show the error when you run up the Electron.NET app.
//just calling Newtownsoft.Json class to fire the exception
var fakeClassData = JsonConvert.DeserializeObject<FakeClass>(await File.ReadAllTextAsync(Path.Join(Environment.CurrentDirectory, "fakefile.json")));
I think this has to do with how Newtownsoft.JSON versions packages. While the package is labeled 13.0.1, internally, the package itself is versioned ‘13.0.0’ and the app running in Electron.NET can’t find it.
Steps to Reproduce:
-
Including Newtonsoft.JSON to your web app as a nuget package
-
Call some code from within the Newtonsoft.JSON package
-
Start the app as a website. Everything will run fine
-
Start the app via electronize. It will bomb immediately upon hitting the Newtownsoft.JSON code
Issue Analytics
- State:
- Created a year ago
- Comments:9
Top GitHub Comments
It seems not to be only newtonsoft library. I got the same error with epplus. Last month it was working well.
I’ll give that a try and close the bug if that sorts it. Cheers