Beste Möglichkeit zum Entkoppeln der Startkonfiguration von Webprojekten in ASP.NET 5 und MVC 6

Mit MVC5 war es sehr einfach, ein Bootstrapper-Projekt zu erstellen, das Verweise auf alle Ebenen enthielt, wodurch die UI-Ebene von Verweisen auf beispielsweise Infrastrukturlogik entkoppelt wurde. Das Projekt würde eine Startkonfigurationslogik enthalten, z. B. das Einrichten des IoC-Containers.

Um dies zu tun, wurde eine Startklasse definiert:

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

Und dann füge eine Zeile in @ hinAssemblyInfo.cs:

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

Unglücklicherweise funktioniert dieser Ansatz nicht mehr mit asp.net 5. Ich habe mir die Dokumentation kurz angesehen, aber alles, was ich herausgefunden habe, war, dass das Framework nach einer Klasse namens Startup im Webprojekt sucht.

Ich habe mir auch das @ angesehMicrosoft.AspNet.Hosting Quellcod, das anscheinend für das Auffinden der Startup-Klasse verantwortlich ist. Ich kann einige Verweise auf die Konfigurationsklasse sehen, daher besteht die Möglichkeit, dass die Assembly mithilfe einer Konfigurationseinstellung geladen werden kann, aber ich konnte dies nicht bestätigen oder feststellen, welche Einstellung verwendet wurde.

Auch wenn dies zutrifft, wie kann die Startup-Klasse mithilfe des @ ermittelt werdeconfig.json Datei, wenn die Datei selbst innerhalb der Startup-Klasse geladen wird? Gibt es verschiedene Optionen zum Konfigurieren der Startassembly, z. B. mithilfe einer Umgebungsvariablen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage