2012-07-16 37 views
1

更新:我已嘗試在web.config中以不同組合使用dependentAssembly - > bindingRedirect。我也嘗試添加的app.config到我的「數據訪問」項目,並在那裏加入bindingRedirect。我已經使用了所有可能的組合,但是在兩個配置文件中都有,但是沒有任何效果。也許我沒有錯相同解決方案中的單獨項目。 「位於程序集的清單定義不匹配程序集參考」

我決定用n層體系結構,試圖MVC3 + EXT.Net V2.0和RavenDB。

我添加使用的NuGet Ext.Net我MVC項目,這反過來又增加Newtonsoft.Json(版本4.5.7),因爲它是一個依賴。一切仍然好,一切都按預期構建和執行。

接下來我決定添加一個新項目「實體」,我將在其中實現我的實體及其存儲庫接口/類。好吧,一切都很好,並建立。

然後我又增加了項目「數據訪問」。我手動添加引用RavenDB和Newtonsoft.Json(版本4.0.8.0)捆綁與掠奪。我實現了一個簡單的RavenDB會話和方法來存儲對象。

我重建整體解決方案,並沒有錯誤,但是當我在

Line 17: store = new DocumentStore()運行應用程序,我得到以下錯誤

Could not load file or assembly 'Newtonsoft.Json, Version=4.0.8.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)

(這是我「數據訪問」項目)

堆棧跟蹤

[FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=4.0.8.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)] Raven.Client.Document.DocumentConvention..ctor() in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\DocumentConvention.cs:84...

反正是有解決這個錯誤,而無須重新任何第三方組件自己的?

如果我刪除對EXT.Net和Newtonsoft.Json(4.5.7)的引用,反之亦然,當我移除對RavenDB和Newtonsoft.Json(4.0。)的引用時,RavenDB代碼將自行工作。 8.0)

+0

看看這個問題:http://stackoverflow.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference它可以幫助。 – Saedeas 2012-07-16 16:03:34

+0

@Saedeas謝謝,我在發佈這個問題之前已經仔細考慮了這個問題。我可以在這個問題上收集的是,一個程序集正在尋找一個沒有找到的特定的依賴版本,在我的情況下,我有兩個不相關的程序集在單獨的項目中,是同一解決方案的一部分,尋找不同版本的相同的依賴性,但它只是定位一個版本。 – 2012-07-17 15:25:11

回答

0

RavenDB 960使用Newtonsoft.Json 4.0.8,你可以使用RavenDB 1.2 unstable,它內化了Newtonsoft.Json的支持。

+0

謝謝Ayende,我想這會解決我的錯誤,但是無論如何,無需使用解決方案就可以完成這項工作?如果它不可能那麼好,我只想知道是否有其他解決方案。 – 2012-07-17 15:20:36

相關問題