2017-04-23 33 views
0

運行webapi應用程序時,我得到這個惱人的錯誤。我正在使用牛頓JSON - 版本9.01。牛頓json版本問題whie運行webapi項目

{"Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"}

我的項目.netFramework是4.0。爲了解決這個問題,我已經加了依賴組件:

<assemblyIdentity name="Newtonsoft.Json" 
    publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/> 
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> 

和我的項目package.config

<package id="Newtonsoft.Json" version="9.0.0.0" targetFramework="net40" /> 

兩者都是平等的,但我仍然得到錯誤。這是爲什麼發生?這很奇怪,因爲我的錯誤信息顯示不同的程序集版本。我已經更新了newtonjson 9.0.0並且正在使用它,但是錯誤引發的方式不同。 我試圖安裝newtonjson 6.0.0,然後包管理器控制檯拋出一個錯誤:

Unable to find version '6.0.1' of package 'Newtonsoft.Json'.

有時降級到低版本牛頓JSON時,C#的依賴性不支持或者安裝喜歡它顯示。 我該怎麼辦?我在安裝nuget pakages方面很新穎。感謝您的幫助。

+0

嘗試清理並重建解決方案 –

回答

0

在軟件包管理控制檯:在項目

更新:在PAKAGE Manager控制檯關閉目標項目,並重新安裝牛頓軟,做一個重建

Update-Package Newtonsoft.Json -Reinstall 
0

請問您的解決方案有針對不同版本的多個項目Newtonsoft.Json的?右鍵單擊該解決方案並單擊管理NuGet包。如果Newtonsoft.Json出現在Consolidate選項卡中,則更新項目以使用相同的版本。