C# 我们是否需要将Newtonsoft JSON.Net dll文件与主应用程序一起打包,以使其在非visual studio系统中工作?

C# 我们是否需要将Newtonsoft JSON.Net dll文件与主应用程序一起打包,以使其在非visual studio系统中工作?,c#,json,dll,.net-4.5,visual-studio-2013,C#,Json,Dll,.net 4.5,Visual Studio 2013,我有一个将由WinForms应用程序使用的DLL项目。我使用NewtonSoft JSON.NET进行JSON反序列化 Newtonsoft.Json.dll Newtonsoft.Json.xml 现在,我的应用程序在安装了Visual Studio.NET的系统上运行良好,但在没有VS.NET的系统上不加载。 我的目标版本是.NET 4.5,我已经在没有VS.NET的测试机器中安装了以下文件 dotnetfx45_full_x86_x64.exe 测试机器返回以下错误 Plugin fa

我有一个将由WinForms应用程序使用的DLL项目。我使用NewtonSoft JSON.NET进行JSON反序列化

Newtonsoft.Json.dll
Newtonsoft.Json.xml
现在,我的应用程序在安装了Visual Studio.NET的系统上运行良好,但在没有VS.NET的系统上不加载。 我的目标版本是.NET 4.5,我已经在没有VS.NET的测试机器中安装了以下文件

dotnetfx45_full_x86_x64.exe
测试机器返回以下错误

Plugin failed to initialize: Could not load managed bridge library.
我是否需要包括我添加到解决方案中的所有引用


非常感谢您的帮助。

问题不在于您是否安装了VS.NET,而在于您是否在正确的位置安装了Json.NET。它是您依赖的第三方库,因此您应该将其与应用程序一起提供。就我个人而言,我会将其与您的应用程序一起复制,而不是安装在GAC中,但这是一个稍微不同的选择

现在还不清楚这个异常是否是由于Json.NET首先丢失造成的。这听起来不像是一个与JSON相关的错误。假设它实际上是一个.NET异常,您应该查看完整的堆栈跟踪-很可能有一个嵌套异常提供了更多信息


作为一个一般性的回答:是的,如果您使用的库不是.NET本身的一部分,您需要将它们包含在应用程序中。

谢谢@Jon Skeet,我在应用程序中包含了
Newtonsoft.Json.dll
Newtonsoft.Json.xml
两个文件,但仍然会出现错误。问题是,我无法获取堆栈跟踪,因为它是第三方应用程序。那么,我的应用程序是否也需要包含以下文件(无论我使用了什么.net引用)
System.Net.Http.Formatting.dll
@aceventura:不,您不需要包含这些dll,因为它们是.Net的一部分-但听起来您需要获取有关应用程序的更多诊断信息。我们没有足够的信息进一步帮助您(我们对该应用程序几乎一无所知),但听起来您很可能应该与作者联系。再次感谢@Jon Skeet。应与第三方客户核实他们需要的其他文件。圣诞快乐@是的,你绝对应该这么做。这在很大程度上取决于申请。我有同样的问题。如何在目标计算机上安装Newtonsoft.Json.dll。这个应该放在GAC里吗?问题是我的应用程序dll也在GAC中。