La mejor manera de desacoplar la configuración de inicio del proyecto web en ASP.NET 5 y MVC 6

Con MVC5, ha sido muy fácil crear un proyecto de arranque que tuviera referencias a todas las capas, desacoplando así la capa de la interfaz de usuario de las referencias a, digamos, la lógica de la infraestructura. El proyecto contendría la lógica de configuración de inicio, como la configuración del contenedor IoC.

La forma de hacer esto fue definir una clase de inicio:

public class Startup
{
    public static void Start()
    {
        // startup configuration (IoC etc) goes here
    }
}

Y luego agregue una línea enAssemblyInfo.cs:

[assembly: PreApplicationStartMethod(typeof(Startup), "Start")]

Desafortunadamente, este enfoque ya no funciona con asp.net 5. Revisé brevemente la documentación, pero todo lo que descubrí fue que el marco busca una clase llamada Startup dentro del proyecto web.

También eché un vistazo alMicrosoft.AspNet.Hosting código fuente que parece ser responsable de encontrar la clase de inicio. Puedo ver algunas referencias a la clase de configuración, por lo que existe la posibilidad de que el ensamblaje se pueda cargar utilizando algún tipo de configuración, pero no pude confirmarlo o determinar qué configuración.

Además, si esto es cierto, ¿cómo podría determinarse la clase Startup utilizando elconfig.json archivo, cuando el archivo se está cargando dentro de la clase de inicio? ¿Existen diferentes opciones para configurar el ensamblaje de inicio, como por ejemplo usar una variable de entorno?

Respuestas a la pregunta(2)

Su respuesta a la pregunta