Wie kann ich den Basispfad in ConfigurationBuilder in Core 2.0 festlegen?
Ich habe diese Frage gegoogelt und gefunden , dies aus Microsoft-Dokumenten und den 2.0- Dokumenten online, aber sie scheinen eine Version Microsoft.Extension.Configuration
von 1.0.0-beta8 zu verwenden .
Ich möchte lesen appsettings.json
. Gibt es eine neue Möglichkeit, dies in Core 2.0 zu tun?
using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp2
{
class Program
{
public static IConfigurationRoot Configuration { get; set; }
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) // <== compile failing here
.AddJsonFile("appsettings.json");
Configuration = builder.Build();
Console.WriteLine(Configuration.GetConnectionString("con"));
Console.WriteLine("Press a key...");
Console.ReadKey();
}
}
}
appsetting.json
{
"ConnectionStrings": {
"con": "connection string"
}
}
UPDATE:
Zusätzlich zum Hinzufügen von Microsoft.Extensions.Configuration.FileExtensions, wie unten von Set angegeben, musste ich auch Microsoft.Extensions.Configuration.Json hinzufügen , um die AddJsonFile
Erweiterung zu erhalten.
Microsoft.Extensions.Configuration.Json
hat eine Abhängigkeit von Microsoft.Extensions.Configuration.FileExtensions
, so dass Sie nur die erstere brauchen.
AddJsonFile("appsettings.json")
Methode Ihre Hosting-Umgebung nicht kennt! Verwenden Sie .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
stattdessen. : D