assemblies - NInject 可以按需加载模块/程序集吗?

标签 assemblies inversion-of-control ninject

NInject 中是否有工具可以让我像在 Unity 中那样按需加载来自其他模块(程序集)的服务?

最佳答案

我很确定这就是你要找的东西:

var kernel = new StandardKernel();
kernel.Load( Assembly.Load("yourpath_to_assembly.dll");

如果您在 Ninject.dll 中查看带有反射器的 KernelBase,您将看到此调用将递归加载已加载程序集中的所有模块(Load 方法采用 IEnumerable)
public void Load(IEnumerable<Assembly> assemblies)
{
    foreach (Assembly assembly in assemblies)
    {
        this.Load(assembly.GetNinjectModules());
    }
}

关于assemblies - NInject 可以按需加载模块/程序集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694640/

相关文章:

c# - 服务定位器和依赖注入(inject)

asp.net-core - 如何验证 ASP.NET Core DI 中的所有注册类型?

asp.net-mvc - Controller 构造函数中的 Ninject Mvc 异常处理

c# - 在 GAC 中注册一个 dll

c# - 向所有类型注入(inject)具有特定值的字符串参数

c# - 我可以将某些东西注入(inject)到 MvcApplication 中吗?

asp.net-mvc-3 - Ninject 绑定(bind)属性以使用构造函数参数进行过滤

.net - 如何让 .NET 先在本地文件夹而不是 GAC 中查找程序集?

C#:为什么我的应用程序不关闭其文件句柄?

.net - 如何解决Assembly.Load性能下降的问题?