Weird exception after updating Autofac

I have an MVC4 application before, I updated the Autofac version, everything works fine, now I have this strange exception.

Please, help!?

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(); 

Stack trace:

  [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 
+8
c # exception asp.net-mvc-4 autofac
source share
2 answers

You also need to upgrade Autofac.Integration.Mvc to the appropriate version.

If this does not help, make sure that new versions of both files are located in the folder from which the code is executed. Maybe one of them cannot be copied to the IIS folder?

+14
source share

It is possible that you are using asp.net mvc 3, which has incompatibilities with the InstancePerHttpRequest() method

found by autofac mvc 3 contrib (forgot the name of the package). In my case, updating to mvc 4 fixed the problem.

+1
source share

All Articles