आप इस तरह के निर्माण 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कुछ विशिष्ट पर्यावरण मूल्य ("लाइव", "स्टेजिंग", "उत्पादन", जो भी) के साथ एक पर्यावरण चर की आवश्यकता है । आप अपने विकास के वातावरण के लिए अपनी परियोजना सेटिंग्स में इस चर को निर्दिष्ट कर सकते हैं, और निश्चित रूप से आपको इसे अपने मंचन और उत्पादन वातावरण में भी सेट करने की आवश्यकता है। जिस तरह से आप इसे करते हैं वह इस बात पर निर्भर करता है कि यह किस तरह का वातावरण है।
अद्यतन: मुझे अभी पता चला है कि आप appsettings.xxx.jsonअपने वर्तमान बिल्ड कॉन्फ़िगरेशन के आधार पर चयन करना चाहते हैं । यह मेरे प्रस्तावित समाधान से हासिल नहीं किया जा सकता है और मुझे नहीं पता कि क्या ऐसा करने का कोई तरीका है। "पर्यावरण चर" तरीका, हालांकि, काम करता है और आपके दृष्टिकोण के लिए एक अच्छा विकल्प हो सकता है।