누군가가 여기에 제공된 할릴 칼칸 (@hikalkan)의 지시에 따라 확장 할 수 2.0 구현 : https://github.com/volosoft/castle-windsor-ms-adapter성 윈저 미스 어댑터 코어
원본 - 표준 Microsoft DI
public void ConfigureServices(IServiceCollection services)
{
services.AddAutoMapper();
services.AddMvc();
services.AddApiVersioning();
services.AddDbContextPool<CIDMSContext>(options => options.UseSqlServer(""));
services.AddScoped<IBuildingRepository, BuildingRepository>();
services.AddScoped<IComponentRepository, ComponentRepository>();
}
NEW를 사용하여 작동 - 작동하지 않습니다. Castle.Windsor.MsDependencyInjection
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddAutoMapper();
services.AddMvc();
services.AddApiVersioning();
services.AddDbContextPool<CIDMSContext>(options => options.UseSqlServer(""));
//services.AddScoped<IBuildingRepository, BuildingRepository>();
//services.AddScoped<IComponentRepository, ComponentRepository>();
return WindsorRegistrationHelper.CreateServiceProvider(
new WindsorContainer(), services);
}
를 사용하려고 나는 오류를 얻고있다 :
Unable to resolve service for type '...Repositories.Buildings.IBuildingRepository' while attempting to activate ...Controllers.BuildingController'
내 궁극적 인 목표는 DI에 내가 만들 때마다 하나의 저장소가없는 것입니다. 컨벤션을 통해 캐슬 윈저에 DI를 보내고 싶습니다. .Net Core 2.0에서이 작업을 수행 할 수있는 다른 옵션이있는 경우 해당 옵션도 열려 있습니다.
Visual Studio 15.4.1 .Net Core 2.0 API 프로젝트를 사용하고 있습니다.
BuildingController 생성자 코드를 제공하십시오 – itikhomi
왜이 사람이 투표에 실패했는지 자세히 설명해 주시겠습니까? – Ben