2011-05-30 92 views
14

我在C#4.0的工作來讀取簽名的請求,我用下面的代碼無法加載文件或程序集「Newtonsoft.Json,版本= 3.5.0.0

FacebookApp fap = new FacebookApp(); 
fap.AppId = "789485219211963"; // App ID 
fap.AppSecret = "365ee9f5823698536767d608cf572a49"; 

string requested_Data = Request.Form["signed_request"]; 
FacebookSignedRequest fsr = fap.ParseSignedRequest(requested_Data); 
IDictionary<string, string> myDic = fsr.Dictionary; 

string name = myDic["name"]; 
string algorithm = myDic["algorithm"]; 

Response.Write(requested_Data + "<br>" + algorithm + "<br>" + name + "<br>"); 

但在我收到的高亮線以下例外

無法加載文件或組件 'Newtonsoft.Json,版本= 3.5.0.0, 文化=中性 公鑰= 30ad4fe6b2a6aeed' 其依賴的或 之一。位於 程序集清單定義 與程序集引用不匹配。 (來自HRESULT的例外:0x80131040)

我下載了Newtonsoft.Json。釋放1而不是釋放2,但它仍然不起作用。 有人可以幫助我解決這個問題,也請指導我以我的方式閱讀簽名的請求是否正確,如果不是請指定正確的方法。

感謝:

+0

什麼突出顯示行?一旦你得到它,你下載了什麼? – 2011-05-30 13:23:48

回答

16

我猜你donwloaded Newtonsoft.Json V4.0,而不是3.5。 3.5最新版本是版本8

http://json.codeplex.com/releases/view/50552

我想,你也許可以在你的web.config /的app.config以使用4.0而不是3.5做一個版本向前,因爲有些庫你使用的可能是建立在Newtonsoft的3.5版本之上的。

+0

是的你是對的,現在我使用http://json.codeplex.com/releases/view/50552的Newtonsoft.json 3.5,它工作。 Thanks Jishi – 2011-06-03 04:32:47

+4

有關彙編轉發配置的未來參考: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx – 2013-02-01 19:10:18

8

你可以用它的nuget軟件包'Newtonsoft.Json'使用包管理器來更新它。

PM> update-package newtonsoft.json 
3

在包管理器控制檯的Visual Studio 2013

PM> Install-Package Newtonsoft.Json 

然後重新啓動Visual Studio。

2

當我遇到這個問題時,我發現項目/包中有兩個類似的文件夾,一個是6.0.5版,另一個是5.0.6。

我刪除了5.0.6,問題消失了。

0

升級所有解決方案的NuGet包後,我的Xamarin.Forms PCL WinPhone8.1項目也出現同樣的問題。問題出在winPhone8.1項目中的Newtonsoft.Json v9.0.0。

所有其他項目正常工作。花了兩天時間來搜尋所有的建議,最後通過刪除項目解決了這個問題,從我的git中抽取了一個項目的克隆,並加入到解決方案中。仍然失敗(雖然git版本在提交之前工作正常)。

刪除的Newtonsoft參考,重新安裝舊版本8.0.3,然後通過NuGet升級到V9.0.0。

然後從winPhone8.1項目Bin/ARM/Debug,Bin/x86/Debug和Obj/ARM/Debug/MSIL和MDIL目錄中刪除對Newtonsoft的所有引用。做了一個build和SUCCESS。

0

PM> update-package newtonsoft。json它的工作原理

+0

您可以添加一些細節,使您的答案更有幫助嗎? – 2017-09-22 13:58:35

+0

不是每個人都可能知道,您告訴他在軟件包管理器控制檯中執行該語句。 – 2017-09-22 14:05:27

相關問題