Ich erstelle eine .NET Standard 2.0-Bibliothek, die von einer .NET Framework 4.6.1-Anwendung verwendet wird.
Diese Bibliothek benötigt EF Core, aber ich kann nicht herausfinden, wie man die app.config liest.Lesen von app.config aus der .NET Standard 2.0-Bibliothek
In einer .NET Framework-Bibliothek würde ich meine DbContext wie folgt initialisieren:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString);
}
Aber ich kann es nicht tun, da Konfigurationsmanager ist nicht in .NET-Standard 2.0 gefunden werden.
Wie kann ich die Konfigurationsdatei aus einer .NET Standard 2.0-Bibliothek lesen?
'.NET Core' /' .NET Standard' ist mehr an 'JSON' Dateien als' XML' gewöhnt. Wenn Sie XML-Dateien lesen müssen, müssen Sie einen Verweis auf das Paket 'Microsoft.Extensions.Configuration.Xml' hinzufügen. Weitere Informationen finden Sie unter [hier] (https://stackoverflow.com/questions/40036819/how-to-pull-configuration-settings-from-xml-file-in-startup-cs) –
Warum lesen Sie eine XML-Konfiguration? Datei (ein .NET Framework-Konzept) in einer .NET Standard-Bibliothek? Das ist nicht besonders tragbar. Es ist auch nicht empfehlenswert, Einstellungen aus einer Bibliothek zu lesen, selbst auf dem regulären .NET Framework. Lassen Sie stattdessen die Verbindungszeichenfolge von der Anwendung injizieren; Es kann seine Konfigurationsdatei ohne Probleme lesen. –
Sie können einen 'DbContextOptions' im Konstruktor akzeptieren, um das zu tun, was @ JeroenMostert erwähnt –