.NET cho phép bạn sử dụng các tệp .settings để quản lý cài đặt ứng dụng. Tôi muốn để lưu trữ sản xuất, phát triển và thiết lập thử nghiệm riêng rẽ trong một cách mà tôi có thể làm một cái gì đó như thế này:Cách sử dụng các tệp .settings khác nhau cho các môi trường khác nhau trong .NET?
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;
Về cơ bản, tôi muốn hai lớp Cài đặt riêng: lớp Cài đặt chung mà các cửa hàng môi trường được lựa chọn và không -Môi trường đặc tính cụ thể, và 3 trường hợp tĩnh của một lớp thứ hai được gọi là EnvironmentSettings. Ví dụ được sử dụng sẽ phụ thuộc vào môi trường được chỉ định trong lớp Cài đặt chung.
Có cách nào để thực hiện việc này một cách thủ công, đặt giá trị cho tất cả các cài đặt này trong một hàm tạo tĩnh hay không? Nếu tôi phải làm điều đó, tôi chỉ muốn có một lớp Cài đặt lớn với các thuộc tính như "DevOutputLocation", "LiveOutputLocation", v.v.
Tôi có thể có nhiều tệp .settings trong dự án của mình nhưng chỉ tạo các lớp riêng biệt không lấy được từ nhau. Vì vậy, tôi có thể tạo các tệp DevelopmentSettings.settings, ProductionSettings.settings và TestSettings.settings và cung cấp cho chúng cùng một thuộc tính, nhưng sau đó tôi sẽ cần một loạt các câu lệnh chuyển đổi ở mọi nơi để xác định lớp nào sẽ sử dụng vì chúng không xuất phát từ một lớp phổ biến .
bạn có thể làm điều này bằng cách sử dụng một người dùng khác nhau cho mỗi môi trường, nhưng bằng cách nào đó tôi nghĩ rằng gây ra nhiều vấn đề hơn giải quyết. –