在同一解决方案中分隔项目。 "The located assembly's manifest definition does not match the assembly reference"



更新: 我尝试过在web.config中以不同的组合使用dependentAssembly->bindingRedirect。我还尝试将app.config添加到我的"DataAccess"项目中,并在其中添加bindingRedirect。我已经使用了我能想到的所有可能的组合,但在配置文件和它们自己中,似乎都不起作用。也许我做错了

我决定尝试使用n层架构的MVC3+EXT.Net V2.0和RavenDB。

我在MVC项目中使用NuGet添加了Ext.Net,这反过来又添加了Newtonsoft.Json(4.5.7版本),因为它是一个依赖项。一切都很好,一切都按预期构建和执行。

接下来,我决定添加一个新项目"实体",在那里我将实现我的实体及其存储库接口/类。好的,一切都很好,正在构建中。

然后我添加了另一个项目"DataAccess"。我手动添加了对RavenDB和与Raven捆绑的Newtonsoft.Json(版本4.0.8.0)的引用。我实现了一个简单的RavenDB会话和方法来存储对象。

我重建了整个解决方案,没有任何错误,但是当我运行应用程序时,我得到了以下错误

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)

Line 17: store = new DocumentStore()(这在我的"DataAccess"项目中)

堆栈跟踪

[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:BuildsRavenDB-StableRaven.Client.LightweightDocumentDocumentConvention.cs:84...

有没有办法在不重建任何第三方程序集的情况下修复这个错误?

如果我删除对EXT.Net和Newtonsoft.Json(4.5.7)的引用,RavenDB代码会自行工作,反之亦然,当我删除对RavenDB和Newtonsoft.Json的引用时,EXT.Net代码会工作。(4.0.8.0)

RavenDB 960使用Newtonsoft.Json 4.0.8,您可以使用RavenDB 1.2不稳定,这内部化了对Newtonsoft.Json的支持。

相关内容

  • 没有找到相关文章

最新更新