Bit-Framework如何实现不同项目的模块化依赖注册?

How To Have Modular Dependency Registration in Different Projects in Bit-Framework?

我在使用位框架的解决方案中有很多项目。我需要在每个项目中注册接口,并进行模块化注册。怎么做到的?

假设您有以下模块:"FrontApp + SubSys1 + SubSys2"

AppStartup 与之前一样,但有两处修改:

1-在AssemblyContainer.Current.Init();后添加如下代码:

AssemblyContainer.Current.AddAppAssemblies(typeof(SubSys1AppModule).GetTypeInfo().Assembly, typeof(SubSys2AppModule).GetTypeInfo().Assembly);

2- 将 GetAppModules 的正文更改为以下内容:

public IEnumerable<IAppModule> GetAppModules()
{
    yield return this;
    yield return new SubSys1AppModule();
    yield return new SubSys2AppModule();
}

SubSys1AppModule 的代码:

public class SubSys1AppModule : IAspNetCoreAppModule // It's possible in owin based apps by implementing IOwinAppModule
{
    public virtual void ConfigureDependencies(IServiceProvider serviceProvider, IServiceCollection services, IDependencyManager dependencyManager)
    {
        dependencyManager.Register<Module1Contract, Module1Implementation>();
    }
}