C# 基于配置的多个`.settings`文件

C# 基于配置的多个`.settings`文件,c#,.net,C#,.net,我想知道是否有一种方法可以基于运行时遵守的配置拥有多个.settings文件。因此,目前我在Properties文件夹下有一个Settings.Settings和一个Release.Settings文件。我并不是说这是对的,我只是说这就是我现在拥有的 但是,当运行这行代码时,我总是从Settings.Settings文件中获取值 Properties.Settings.Default.Setting 我意识到该行的Settings部分明确定义了我想要的文件,但我正试图找到一种方法来获取一行抽象

我想知道是否有一种方法可以基于运行时遵守的配置拥有多个
.settings
文件。因此,目前我在
Properties
文件夹下有一个
Settings.Settings
和一个
Release.Settings
文件。我并不是说这是对的,我只是说这就是我现在拥有的

但是,当运行这行代码时,我总是从
Settings.Settings
文件中获取值

Properties.Settings.Default.Setting
我意识到该行的
Settings
部分明确定义了我想要的文件,但我正试图找到一种方法来获取一行抽象的代码,根据配置将其提取出来

因此,与配置转换不同,配置转换可以用于在部署时生成不同版本的文件,我需要能够在运行时根据我运行的配置实际看到不同的值


我希望有人能帮忙,谢谢

是的,这是可能的。我只是想自己做同样的事情

  • 从“项目”菜单中,选择“添加新项目”。“添加新项”对话框 盒子打开了

  • 在“添加新项目”对话框中,选择“设置文件”,键入名称 对于该文件,单击“添加”将新的设置文件添加到 解决方案

  • 在解决方案资源管理器中,将新设置文件拖动到“属性”对话框中 文件夹。这允许您的新设置在代码中可用

  • 添加和使用此文件中的设置,就像添加和使用任何其他设置一样 文件您可以通过访问此组设置 属性。设置对象

然后,您可以通过其前缀引用每个设置文件

            Config config = new Config();
            if (Debugger.IsAttached)
            {
                config = new Config()
                {
                    Interval = Dev.Default.Interval,
                    Username = Dev.Default.Username,
                    Password = Dev.Default.Password,
                    Directory = Dev.Default.Directory
                };
            }
            else
            {
                config = new Config()
                {
                    Interval = Settings.Default.Interval,
                    Username = Settings.Default.Username,
                    Password = Settings.Default.Password,
                    Directory = Settings.Default.Directory
                };
            }
另见: