2013-02-07 17 views
8

updated ben AutoFac sürümünü güncelledik, her şey şimdi ben bu garip durum var, tamam çalıştı.Garip istisna sonrası , daha önce bir MVC4 uygulamaya sahip AutoFac

yardım edin !?

Method not found: 'Autofac.Builder.IRegistrationBuilder`3<!0,!1,!2> Autofac.Builder.IRegistrationBuilder`3.InstancePerMatchingLifetimeScope(System.Object)'. 



Line 22:    var builder = new ContainerBuilder(); 
Line 23:    builder.RegisterFilterProvider(); 
Line 24:    builder.Register(x => new AuthorizationService()).As<IAuthService>().InstancePerHttpRequest(); 
Line 25:    builder.Register(x => new HeaderRepository()).As<IUIHeaderRepository>().InstancePerHttpRequest(); 
Line 26:    builder.Register(x => new PageBuilder()).As<IUPageBuilder>().InstancePerHttpRequest(); 

Yığın izleme:

[MissingMethodException: Method not found: 'Autofac.Builder.IRegistrationBuilder`3<!0,!1,!2> Autofac.Builder.IRegistrationBuilder`3.InstancePerMatchingLifetimeScope(System.Object)'.] 
     Autofac.Integration.Mvc.RegistrationExtensions.InstancePerHttpRequest(IRegistrationBuilder`3 registration) +0 
     Application.UI.Web.Services.HttpDependencyInjectionResolver.RegisterDependencies() in c:\Users\user\Documents\Visual Studio 11\Projects\MyProject\Application.UI.Web\Services\HttpDependencyInjectionResolver.cs:24 
     Application.UI.Web.MvcApplication.Application_Start() in c:\Users\user\Documents\Visual Studio 11\Projects\MyProject\Application.UI.Web\Global.asax.cs:42 

    [HttpException (0x80004005): Method not found: 'Autofac.Builder.IRegistrationBuilder`3<!0,!1,!2> Autofac.Builder.IRegistrationBuilder`3.InstancePerMatchingLifetimeScope(System.Object)'.] 
     System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9859441 
     System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118 
     System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172 
     System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 
     System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 

    [HttpException (0x80004005): Method not found: 'Autofac.Builder.IRegistrationBuilder`3<!0,!1,!2> Autofac.Builder.IRegistrationBuilder`3.InstancePerMatchingLifetimeScope(System.Object)'.] 
     System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873784 
     System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 
     System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254 

cevap

14

Ayrıca ilgili sürüme Autofac.Integration.Mvc güncellemeniz gerekir. Bu işe yaramazsa

, hem dosyaların yeni sürümleri kod yürütüldüğünde klasörde aslında olduğundan emin olun. Belki bir tanesi IIS klasörüne kopyalanamadı?

+0

sayesinde ancak bu referanslarını yönetmek için Nuget kullanıyorsunuz bana ... hala aynı hatayı – IamStalker

+0

sahip yardımcı olmadı da bunu manuel olarak yapıyoruz? Ben Nuget –

+0

AutoFac ve Autofac.Mvc4 kaldırmayı ve sadece geri Autofac.Mvc4 ekledi. Autofac'ın doğru sürümünü otomatik olarak kuracaktır. – IamStalker

1

Iyi sen AutoFac mvc 3 contrib (paketin adını unuttum) bulunursa yöntemle InstancePerHttpRequest()

uyumsuzluğa sahip asp.net mvc 3 kullandığınızı olabilir. Benim durumumda mvc 4'e yükseltme sorunu çözdü.

İlgili konular