คุณสามารถใช้ตัวแปรสภาพแวดล้อมและConfigurationBuilder
คลาสในตัวStartup
สร้างของคุณได้ดังนี้:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
this.configuration = builder.Build();
}
จากนั้นคุณจะสร้างappsettings.xxx.json
ไฟล์สำหรับทุกสภาพแวดล้อมที่คุณต้องการโดยมี "xxx" เป็นชื่อสภาพแวดล้อม โปรดทราบว่าคุณสามารถใส่ค่าการกำหนดค่าส่วนกลางทั้งหมดในappsettings.json
ไฟล์"ปกติ" ของคุณและใส่เฉพาะสภาพแวดล้อมลงในไฟล์ใหม่เหล่านี้
ตอนนี้คุณต้องการเพียงตัวแปรสภาพแวดล้อมที่เรียกASPNETCORE_ENVIRONMENT
ด้วยค่าสภาพแวดล้อมที่เฉพาะเจาะจง ("live", "staging", "production" อะไรก็ได้) คุณสามารถระบุตัวแปรนี้ในการตั้งค่าโปรเจ็กต์สำหรับสภาพแวดล้อมการพัฒนาของคุณและแน่นอนว่าคุณต้องตั้งค่าในสภาพแวดล้อมการจัดเตรียมและการใช้งานจริงด้วย วิธีที่คุณทำขึ้นอยู่กับสภาพแวดล้อมแบบนี้
UPDATE:ฉันเพิ่งตระหนักคุณต้องการที่จะเลือกappsettings.xxx.json
ขึ้นอยู่กับปัจจุบันของคุณสร้างการกำหนดค่า สิ่งนี้ไม่สามารถทำได้ด้วยวิธีแก้ปัญหาที่ฉันเสนอและฉันไม่รู้ว่ามีวิธีทำหรือไม่ อย่างไรก็ตามวิธี "ตัวแปรสภาพแวดล้อม" ได้ผลและอาจเป็นทางเลือกที่ดีสำหรับแนวทางของคุณด้วย