DDDレイヤーのアプリケーションがあるので、Asp.Net MVC 4プロジェクトとWebApiプロジェクト(プレゼンテーションレイヤーに2つのプロジェクト)の両方が含まれています。
Asp.Net MVC 4=okでAutofacを追加するAsp.NetWebApiでAutofacを追加する=okではない
これは、私のasp.netWebAPIからの私のglobal.asax.csです。
var configuration = GlobalConfiguration.Configuration;
var builder = new ContainerBuilder();
// Configure the container with the integration implementations.
// builder.ConfigureWebApi(configuration);
builder.RegisterWebApiFilterProvider(configuration);
// Register API controllers using assembly scanning.
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
builder.RegisterType(typeof(UnitOfWork)).As(typeof(IUnitOfWork)).InstancePerLifetimeScope()
.OnRelease(x => { ((IUnitOfWork)x).Commit(); });
builder.RegisterType(typeof(DatabaseFactory)).As(typeof(IDatabaseFactory)).InstancePerLifetimeScope().AsImplementedInterfaces();
builder.RegisterAssemblyTypes(typeof(UserRepository).Assembly).Where(t => t.Name.EndsWith("Repository")).AsImplementedInterfaces();
builder.RegisterAssemblyTypes(typeof(SecurityService).Assembly).Where(t => t.Name.EndsWith("Service")).AsImplementedInterfaces();
var container = builder.Build();
// Set the dependency resolver implementation.
var resolver = new AutofacWebApiDependencyResolver(container);
configuration.ServiceResolver.SetResolver(resolver);
私が見ているエラーは次のとおりです:アセンブリ'System.Web.Http、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'からタイプ'System.Web.Http.Dependencies.IDependencyResolver'を読み込めませんでした。コードの一部を3回書き直してみましたが、うまくいかないようです。
いくつかのブログへのリンクはすでに見つかりましたが、ほとんどの場合、それらにはへの参照が含まれてbuilder.ConfigureWebApi(configuration);
おり、新しいバージョンには存在しません。
これをどのように解決できるかについて何か考えはありますか?