var resolver = new AutofacWebApiDependencyResolver(container);
configuration.ServiceResolver.SetResolver(resolver);
po aktualizacji do ASP.NET MVC4 (RC) pojawia się następujący błąd:Autofac/MVC4/WebAPI (RC) Dependency Injection problem po aktualizacji z wersji beta
'System.Web.Http.HttpConfiguration' does not contain a definition for 'ServiceResolver' and no extension method 'ServiceResolver' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?)
Zdaję sobie sprawę po przeczytaniu tego (http://www.asp.net/web-api/overview/extensibility/using-twe-web-api-dependency-resolver), że te interfejsy uległy zmianie, ale nie jestem pewien, jak zastosować tę zmianę w sposobie korzystania Autofac.
Czy muszę poczekać na nowe wydanie Autofac lub czy istnieje inny sposób, w jaki mogę go pominąć.
@StevenWilcock myślę, że to działa, chyba że mam nowy błąd, że nie jestem pewien, jest związane. na builder.ConfigureWebApi (konfiguracja); Otrzymuję ten błąd: Nie można załadować typu "System.Web.Http.Dispatcher.DefaultHttpControllerFactory" z zespołu "System.Web.Http, wersja = 4.0.0.0. Oto linie przed: var configuration = GlobalConfiguration.Configuration; var builder = new ContainerBuilder(); // Skonfiguruj kontener za pomocą implementacji integracji. builder.ConfigureWebApi (konfiguracja); –
Może muszę również zaktualizować System.Net.Http do RC? nie ... jest tam nowy pakiet System.Web.Http, który muszę zainstalować? –
Prawdopodobnie musisz pobrać pakiet nuget Microsoft.Net.Http.2.0.20505.0, który zawiera zaktualizowany zestaw System.Net.Http - mogą być też inne, których też nie masz, nie jesteś pewien. Nie uaktualniłem mojego projektu MVC4 z Beta do RC - stworzyłem nowy projekt i skopiowałem wszystko, co było mi potrzebne ze starego - w ten sposób nic się nie ominęło, chociaż jest to ciężka praca sama w sobie :) Zakładam, że już zainstalowałeś MVC4 z http : //www.asp.net/mvc/mvc4 tutaj, więc masz szablony projektu itp.? –