C# 我们是否需要将Newtonsoft JSON.Net dll文件与主应用程序一起打包,以使其在非visual studio系统中工作?
我有一个将由WinForms应用程序使用的DLL项目。我使用NewtonSoft JSON.NET进行JSON反序列化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
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