Делаем позднее связывание при помощи ninject (c#)

  1. Для этого устанавливаем пакет Ninject.Extensions.Xml при помощи менеджера пакета nuget.
  2. Создаем файл NinjectRegistrations.xml в корне приложения
    <module name="NinjectRegistrations">
        <bind service="WebApp.Interfaces.IElmahWrap, Core" to="WebApp.Mvc.Infrastructure.ElmahWrap, PresentationLogic" scope="singleton" />
        <bind service="WebApp.Interfaces.ICaptcha, PresentationLogic" to="WebApp.Infrastructure.DefaultCaptcha, PresentationLogic" scope="singleton" />
    </module>
    
  3. В Global.cs прописываем следующие строки
    var kernel = new StandardKernel();
    if (System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\NinjectRegistrations.xml"))
        kernel.Load(AppDomain.CurrentDomain.BaseDirectory + "\\NinjectRegistrations.xml");