我打算开发企业应用程序,并且有许多解决方案问题的项目应该是 1- Webapi项目 2-服务项目 3- DataModel项目
Webapi项目调用services项目和Services项目调用DataModel项目的问题是我必须在Webapi项目中同时添加(Services,DataModel)项目dll,并在
之类的Startup类中添加所有类和接口public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IDocConverterProAuth, DocConverterProAuthentication>();
services.AddTransient<IFileConverter, FileConverter>();
services.AddTransient<IFileConversionService, FileConversionService>();
}
但是我有50个项目和数百个班级。我必须在Webapi项目中添加所有引用。我觉得这是不正确的方式,因为仅Webapi项目中不使用DataModel项目,而Services项目仅使用DataModel项目,因此解决Services项目中的依赖关系,请亲切地指导我如何开发我的开发环境
1- Visual Studio Enterprise 2017 2- .net核心2.1 3- C#
答案 0 :(得分:0)
我很久以前就遇到过这种情况(例如2010年),在这种情况下,我选择的解决方案是扫描程序集以查找所有合同,并为合同实现指定一个唯一的名称,例如: abc.business.interfaces.dll 并且相应的实现在 abc.business.dll
使用这样的命名法,我能够标识相应接口的实现程序集,然后将其注册到用于DI的容器中。
因此,如果您不想编写每个DI注入,则必须编写这样的实现。 我认为也有一些现成的解决方案可用,但是我没有使用过这种解决方案,因此不推荐使用。