El problema que veo al definir enlaces en el código solamente es que debe agregar una referencia al dll. No puede cambiar el enlace sin agregar una referencia a un dll nuevo (eliminar la referencia al anterior), cambiar el código y volver a compilar.
Si tuviéramos la configuración de xml no necesitaría ninguna referencia, y no tendría que volver a compilar. Ahora tengo la aplicación MVC que usa DI para pasar repositorios a los Controladores. Nada más que el código de Ninject para agregar enlaces utiliza las implementaciones concretas de repositorios. Y aún necesito agregar una referencia a dll que contenga las implementaciones. ¡Por solo una línea de código!
¿O tal vez hay una posibilidad de lograr esto usando Ninject?
Es increíble cómo pueden hacer que un sonido negativo sea un plus. La mayoría de los demás DI \ Ioc le permiten usar Xml o Code. –
Esto no es negativo. El soporte XML cortado a sabiendas, porque es un dolor de mantenimiento. – Restuta
Uso principalmente el código para asignar mis enlaces, pero hay casos en que la configuración funciona. Para la depuración, es posible que desee vincular IMailService a VirtualMailService, pero en el lanzamiento utilice SmtpMailService. Los archivos de configuración se transforman según el entorno de lanzamiento. –