Do we need to package Newtonsoft JSON.Net dll file along with main application in order to make it work in non visual studio systems?

I have a DLL project that will be used by WinForms application. I have used NewtonSoft JSON.NET for JSON deserialization.

Newtonsoft.Json.dll
Newtonsoft.Json.xml

Now, My application works fine on a system that has Visual Studio.NET Installed, but does not load on system which do not have VS.NET. My Target version is .NET 4.5 and I have installed the below file in test machine that does not have VS.NET.

dotnetfx45_full_x86_x64.exe

The Test machine returns the following error.

Plugin failed to initialize: Could not load managed bridge library.

Do I need to include all the references that I have added to my solution?

Any help is greatly appreciated.

Jon Skeet
people
quotationmark

It's not a matter of whether you've got VS.NET installed - it's a matter of whether you've got Json.NET in the right place. It's a third party library that you depend on, so you should ship it with your app. Personally I would copy it alongside your application, rather than installing it in the GAC, but that's a slightly different choice.

Now, it's not clear that the exception is actually due to Json.NET being missing in the first place. It doesn't sound like a particularly JSON-related error. Assuming it's actually a .NET exception, you should look at the full stack trace - there may well be a nested exception which gives more information.

As a general answer though: yes, if you use any libraries which aren't part of .NET itself, you need to include them with your application.

people

See more on this question at Stackoverflow