.NET允許您使用.settings文件來管理應用程序設置。我想在某種程度上,我可以做這樣的事情分開存放生產,開發和測試設置:如何在.NET中爲不同的環境使用不同的.settings文件?
EnvironmentSettings environmentSettings;
// get the current environment (Production, Development or Test)
ApplicationEnvironment Environment = (ApplicationEnvironment)
Enum.Parse(typeof(ApplicationEnvironment), Settings.Default.ApplicationEnvironment);
switch (Environment)
{
case ApplicationEnvironment.Production:
environmentSettings = Settings.Production;
break;
...
}
string reportOutputLocation = environmentSettings.ReportOutputLocation;
基本上,我想兩個獨立設置類:用來存儲選定環境和非一般設置類特定於環境的屬性以及名爲EnvironmentSettings的第二個類的3個靜態實例。使用的實例應該取決於一般設置類中指定的環境。
有沒有什麼辦法可以做到這一點手動設置靜態構造函數或所有這些設置的值?如果我必須這樣做,我寧願只有一個大的設置類與「DevOutputLocation」,「LiveOutputLocation」等屬性。
我可以在我的項目中有多個.settings文件,但只是創建單獨的類這並不是來自對方。因此,我可以製作DevelopmentSettings.settings,ProductionSettings.settings和TestSettings.settings文件併爲它們提供相同的屬性,但是隨後我需要一堆switch語句來確定要使用哪個類,因爲它們不是從普通類派生的。
您可以通過使用爲每個環境不同的用戶做到這一點,但不知何故,我認爲,造成更多的問題比它解決的。 – 2010-02-12 01:14:59