Castle.ActiveRecord.dll не совместим с веб-API ASP.NET MVC 4 - PullRequest
2 голосов
/ 02 марта 2012

MSFT утверждает, что .NET 4.5 обратно совместима с .NET 4. Я установил .NET 4.5 и VS 11, а затем создал новый проект веб-API ASP.NET MVC 4. Когда я ссылаюсь на Castle.ActiveRecord.dll (версия 3.0.0.0) в моем проекте Web API, каждое действие контроллера генерирует эту ошибку:

[FileNotFoundException: Could not load file or assembly 'Lucene.Net, Version=2.3.1.3, Culture=neutral, PublicKeyToken=45b1dda587cdc860' or one of its dependencies. The system cannot find the file specified.]
   System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) +0
   System.Reflection.RuntimeAssembly.GetExportedTypes() +49
   System.Web.Http.Dispatcher.HttpControllerTypeCacheUtil.FilterTypesInAssemblies(IBuildManager buildManager, Predicate`1 predicate) +210
   System.Web.Http.Dispatcher.HttpControllerTypeCache.InitializeCache() +119
   System.Web.Http.Dispatcher.HttpControllerTypeCache..ctor(HttpConfiguration configuration) +69
   System.Web.Http.Services.DefaultServiceResolver.<.ctor>b__0(HttpConfiguration config) +241
   System.Web.Http.Services.DefaultServiceResolver.GetService(Type t) +80
   System.Web.Http.DependencyResolverExtensions.GetService(DependencyResolver resolver) +201
   System.Web.Http.DependencyResolverExtensions.GetServiceOrThrow(DependencyResolver resolver) +60
   System.Web.Http.Dispatcher.HttpControllerDispatcher..ctor(HttpConfiguration configuration) +65
   System.Web.Http.GlobalConfiguration.<.cctor>b__1() +64
   System.Lazy`1.CreateValue() +13589652
   System.Lazy`1.LazyInitValue() +476
   System.Web.Http.WebHost.HttpControllerHandler.<.cctor>b__b() +53
   System.Lazy`1.CreateValue() +455
   System.Lazy`1.get_Value() +13590694
   System.Web.Http.WebHost.HttpControllerHandler.BeginProcessRequest(HttpContextBase httpContextBase, AsyncCallback callback, Object state) +224
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +444
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +354

Это интересно, потому что из того, что я прочитал. версия 2.3.1.3 является версией Lucene (java), а не версией Lucene.Net. Я проверил NuGet просто для уверенности, и у него нет версии 2.3.1.3, доступной для Lucene.Net.

Что дает? Я хотел бы начать работу с новым проектом ASP.NET MVC 4 Web API, так как он сочетает в себе то, что мне нравится в ASP.NET MVC и WCF Web API. Любые идеи относительно того, как обойти эту проблему?

1 Ответ

2 голосов
/ 03 марта 2012

Я разместил решение на форумах asp.net, где возник вопрос.

http://forums.asp.net/post/4861300.aspx

...