I have a WinJS project that is previously built on Windows 8.1 using VS 2013.
Recently I upgraded this project to Universal Windows 10 by creating a blank Javascript Universal windows 10 project and then added all my files from old project.
I have Windows Runtime Components and also Class Library for SQLite.
I added Universal Windows Runtime Component and Universal Class Library and copied all my files from old project to respective places.
Somehow I managed to remove all the build errors.
I installed all the required SQLite-net, SQLite for Universal Windows Platform, Newtonsoft, etc.
But when I run the application and call a Native method in Windows Runtime Component it gives some kind of strange errors as:
An exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.ni.dll but was not handled in user code.
Additional information: Could not load file or assembly 'Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
Newtonsoft version is: 9.0.1
My project.json file of Windows Runtime Component has following:
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0",
"Newtonsoft.Json": "9.0.1"
},
"frameworks": {
"uap10.0": {}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
My Visual Studio version is:
I tried removing all the Newtonsoft json and re-installing it but no luck.
I had the same issue too, to solve this, check in References of your project if the version of Newtonsoft.Json was updated (probablly don´t), then remove it and check in your either Web.config or App.config wheter the element dependentAssembly was updated as follows:
After that, rebuild the project again (the dll will be replaced with the correct version)
I've experienced similar problems with my ASP.NET Core projects. What happens is that the .config file in the bin/debug-folder is generated with this:
If I manually change the second bindingRedirect to this it works:
Not sure why this happens.
I'm using Visual Studio 2015 with .Net Core SDK 1.0.0-preview2-1-003177.
It is possible to solve the problem by updating the 'Newtonsoft' version.
In Visual Studio 2015 it is possible to right click on the "Solution" and select "Manage Nuget packages for solution", search for "Newtonsoft" select a more current version and click update.
It took us a day to resolve this problem. The solution is forcing your webservice to use version 11.0.0 in your web.config file.
I made a basic Demo and reproduced this problem. It seems that WinRT component failed to find the correct assembly of
Newton.Json
. Temporarily the workaround is to manually add theNewtonsoft.json.dll
file. You can achieve this by following steps:Right click References-> Add Reference->Browse...-> Find C:\Users\.nuget\packages\Newtonsoft.Json\9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.json.dll->Click Add button.
Rebuild your Runtime Component project and run. This error should be gone.
Adding binding redirect configuration for Newtonsoft.Json in your configuration file (web.config) will resolve the issue.
Since Newtonsoft.Json version in your case is 9 update the version appropriatly in the configuration.
If this configuration does not work make sure the namespace (xmlns) in your configuration tag is correct or remove the name space completely.
Assembly binding redirect does not work