ฉันจะตั้งค่าพา ธ ฐานใน ConfigurationBuilder ใน Core 2.0 ได้อย่างไร
ฉันมี googled และพบนี้คำถามนี้จากเอกสารไมโครซอฟท์และ2.0เอกสารออนไลน์ แต่พวกเขาดูเหมือนจะใช้รุ่นของMicrosoft.Extension.Configuration
จาก1.0.0-beta8
appsettings.json
ฉันต้องการที่จะอ่าน มีวิธีใหม่ในการทำเช่นนี้ใน Core 2.0 หรือไม่?
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"
}
}
อัปเดต:
นอกเหนือจากการเพิ่มMicrosoft.Extensions.Configuration.FileExtensionsตามที่ระบุด้านล่างโดยSet I ยังต้องเพิ่มMicrosoft.Extensions.Configuration.Jsonเพื่อรับAddJsonFile
ส่วนขยาย
Microsoft.Extensions.Configuration.Json
มีการพึ่งพาMicrosoft.Extensions.Configuration.FileExtensions
ดังนั้นคุณแค่ต้องการอดีต
AddJsonFile("appsettings.json")
วิธีการนี้ไม่ได้คำนึงถึงสภาพแวดล้อมการโฮสต์ของคุณ! ใช้.AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json")
แทน : D