2013-02-25 77 views
2

我在我的MVC3网站中使用Nhibernate。 我有4个表中的数据库和一个服务,这是由网站用来从数据库中获取数据。 现在我收到此错误:无法加载文件或程序集'Newtonsoft.Json'

无法加载文件或程序集“Newtonsoft.Json,版本= 3.5.0.0,文化=中性公钥= 30ad4fe6b2a6aeed”或它的一个依赖。定位的程序集清单定义与程序集引用不匹配。 (异常来自HRESULT:0x80131040)

我发现通过的NuGet安装Newtonsoft.Json,而不是添加参考其的dll解决了这个问题,所以我这样做,它解决了这个问题。当我调试所有工作正常。 但是,当我在登台服务器上发布和上传时,它给出了我上面提到的错误。

此外,请注意,我有3种方法在我的服务,但只有一个给出的错误,休息一切正常。即使这样一种方法在当地也能正常工作。只是不能进行升级。

编辑:现在我卸载由NuGet Newtonsoft.Json,然后我添加引用Newtonsoft.JSON DLL保存在项目的Bin文件夹。它再次在本地工作,但不在服务器上。

为什么这么说?

请回复。

谢谢。

+0

你是不是正在为你的登台服务器使用像appharbor这样的部署服务?如果这样做,则必须将.dll放在bin文件夹之外。 – atbebtg 2013-02-25 16:25:02

回答

0

如果它在本地运行在您的系统上,但无法在服务器上运行。我假设你在你的电脑上安装了一些你的服务器上没有的库。

什么库可能会丢失很难说,请尝试查看项目中的引用并查看是否引用了可能使用本地安装的库的库。

+0

但它给Newtonsoft.Json错误。它的dll存在于Bin文件夹中。由NuGet创建的Packages.config文件也包含有关dll的信息。 – Deeps 2013-02-25 13:23:14

+0

您可以检查DLL的版本是否相同?另外,如果您在多个项目(或第三方库)中使用Newtonsoft.Json,请检查它们是否都需要相同版本的DLL。也许这个答案也可以帮助:http://stackoverflow.com/questions/9426723/could-not-load-file-or-assembly-newtonsoft-json-dll – Deruijter 2013-02-25 13:49:27

+0

是的,我检查了DLL。它们的版本相同。我在两个项目中使用了Newtonsoft.Json,它们都是相同的版本。 – Deeps 2013-02-26 07:07:42

相关问题