2013-02-25 52 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

相關問題