2

我有一个 ASP.NET MVC 4 项目,我需要更新它才能使用 Lucene 3.0。我需要手动设置框架以使用 .NET Framework 4.5,因为我使用的是需要此版本的最新 Windows Azure 库。一切正常,除非我使用实体框架添加新数据模型。我可以使用实体框架成功添加新的数据模型。但是,当我尝试执行一个基本的存储过程(它只执行一个查询)时,我得到一个运行时异常。例外是:

System.Reflection.ReflectionTypeLoadException
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

当我查看 LoaderExceptions 属性时,我看到以下内容:

[0] {"Could not load file or assembly 'Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181"}  System.Exception {System.IO.FileLoadException}

[1] {"Could not load file or assembly 'Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181"}  System.Exception {System.IO.FileLoadException}

奇怪的是,我在任何地方都找不到对 Lucene.Net 版本 2.9.4.1 的单一引用。我确实在我的应用程序中引用了 Lucene.Net 的 3.0.3.0 版本。有人能告诉我该文件的 2.9.4.1 版本会被引用到哪里吗?我查看了以下位置:

MyProject.csproj 
Web.config
Global.asax.cs
packages.config

我该如何解决?我已经为此苦恼了2天。它太离奇了。非常感谢您提供的任何帮助。

4

1 回答 1

1

我不知道这个问题的确切答案,但如果它确实让你感到困惑(而且你很幸运这两个版本是兼容的),你可以通过添加绑定将 2.9.4.1 的任何请求重定向到你拥有的版本重定向到您的配置文件。

请参阅:http: //msdn.microsoft.com/en-us/library/433ysdt1.aspx

于 2013-01-22T16:08:54.840 回答