Heute (11.11.2016) habe ich das neue Visual Studio 2017 RC heruntergeladen, .Net Core 1.1 installiert und ein Web-API-Projekt eingerichtet (ASP.NET Core Web Application (.NET Core)). Ich folgte dann den Anweisungen auf how to read app settings from a config file. Das hat gut funktioniert.Wie lese ich .Net Core-Konfiguration in einer Standard-Klassenbibliothek?
Dann habe ich ein neues Projekt in der gleichen Lösung erstellt. Dies war eine Klassenbibliothek (.NET Standard) unter der .NET Core Abschnitt. Ich habe eine Klasse mit einer Schnittstelle hinzugefügt und sie mit der Standardabhängigkeitsinjektion eingerichtet.
Schließlich, habe ich versucht, die Konfiguration in der Klassenbibliothek durch Konstruktorinjektion zu verwenden. Ich bekomme diese Fehlermeldung:
Der Typ oder Namespace-Name 'ioptions <>' nicht
Hier finden könnte, ist meine Klasse in der Klassenbibliothek:
public class Firebase : IDatabase
{
public Firebase(IOptions<AppSettings> appSettings)
{
//string basePath =
}
}
Hier die ConfigureServices Methode in Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
services.AddTransient<IDatabase, Firebase>();
// Set up configuration files.
services.AddOptions();
services.Configure<AppSettings>(options => Configuration.GetSection("AppSettings").Bind(options));
}
ich habe versucht, hinzufügen
um es zu kompilieren, aber die Glühbirne sagt mir, dass dies eine unnötige Referenz ist.
Was fehlt mir? Ist das nicht möglich? Gibt es eine spezielle Klassenbibliothek für .NET Core?
Danke für Ihre Antwort! Es hat mich nach möglicherweise fehlenden Referenzen suchen lassen. Es stellte sich heraus, dass ich auf * Microsoft.Extensions.Configuration (1.1.0) *, aber nicht * Microsoft.Extensions.Options.ConfigurationExtensions (1.1.0) * verwiesen hatte. Nach einem weiteren Neustart von VS 2017 klappte das endlich! – Halvard