我应该注册DI。
private static void Initialize(ContainerBuilder builder)
{
builder.RegisterType<Logger>().As<ILogger>().SingleInstance();
//...
}
这对我来说很清楚。
但是如果我的解决方案中有17个项目怎么办?
项目是相关的,一个项目是web项目,一些项目是提供者,一些项目是图书馆,核心项目等。
例如:
在Project1中,我有class_A1,这个类应该从同一个项目中注入Class_A2 在Project2中,我有class_B1,这个类应该从同一个项目中注入Class_B2 在Project3中,我有class_C1,这个类应该从同一个项目中注入Class_C2 ...
在Project17中,我有class_K1,这个类应该从同一个项目中注入Class_K2
当然我有一些复杂的场景,比如从Project3到Project14等的注入类
我应该分别在每个项目中注册吗?还是有更好的方法?
谢谢你的帮助。
答案 0 :(得分:0)
如果所有项目都是同一解决方案的一部分,那么您不需要在每个项目中注册类型。通常在任何解决方案中,您将拥有一个主项目,我希望您可以使用解决方案中的所有其他项目,并且可以在主项目中添加注册。
但在某些解决方案中,您可能有不直接由主项目引用的项目,如果是这种情况,那么您有两个选项恕我直言