我还没有尝试过,但似乎在“Replacing the default services container”下的ASP.NET 5依赖注入的documentation中给出了解决方案。
的示例有用于AutoFac但是相同的三个步骤可以应用到城堡温莎相信:
适当的容器包装(一个或多个)添加到依赖关系属性在project.json。
"dependencies" : {
"Autofac": "4.0.0-beta8",
"Autofac.Framework.DependencyInjection": "4.0.0-beta8"
},
接着,在Startup.cs,配置在ConfigureServices
容器和改变方法来返回一个IServiceProvider
代替空隙:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// add other framework services
// Add Autofac
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterModule<DefaultModule>();
containerBuilder.Populate(services);
var container = containerBuilder.Build();
return container.Resolve<IServiceProvider>();
}
最后,配置Autofac正常在DefaultModule:
public class DefaultModule : Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterType<CharacterRepository>().As<ICharacterRepository>();
}
}
[我如何才能开始使用ASP.NET 5和Castle Windsor进行依赖注入?](http://stackoverflow.com/questions/28353187/how-can-i-get-sta ith-asp-net-5-and-castle-windsor-for-dependency-injection) –
@urig在这里看到我的答案:https://stackoverflow.com/questions/28353187/how-can-i-get-用asp-net-5-core-and-castle-windsor-for-dependency-in/47220939开始#47220939 – Nova
@Nova tx。如果你想发布这是一个完整的答案,我会接受它。 – urig