c# – 如何在一个项目中使用多个应用程序配置文件?
创建新的Visual C#控制台应用程序(.NET Framework 4.5)后,此类项目包含默认的App.config文件.
在将System.Configuration的参考添加到项目之后,并使用System.Configuration在某些源文件中使用它;我可以使用静态类ConfigurationManager来操作App.config文件.但之前,我想为文件添加一些设置,所以它是这样的: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="DeployWeb" value="true" /> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration> 现在,我可以写这样的东西,以获得设置的价值: Boolean deployWeb = false; Boolean.TryParse(ConfigurationManager.AppSettings["DeployWeb"],out deployWeb); 但是我没有设置要读取哪个配置文件,但是还有一个默认的配置文件.但是我可以通过右键单击项目添加更多的配置文件 – >添加 – >新项目 – >应用程序配置文件,所以我有例如5个配置文件,如图所示: 而ConfigurationManager仍然会读取默认值,但是我想手动控制哪个配置文件要使用.我想知道,如果有适当的方法来设置ConfigurationManager配置文件名使用等,如果这不是一个坏习惯.我知道如何在调试/释放模式下使用不同的配置,但是在我的情况下,我有一个应用程序,例如,可以在不同的模式下运行不同的目的. 问题:是否有可能在项目中有多个配置文件,并有能力切换我想使用哪一个配置文件.这不是一个不好的做法,我应该用另一种方法来实现我的目的吗?使用构建事件不适合我的情况(我认为). PS.我很抱歉伸出我的问题,不过我很简单,只能用两句话问道,但正如rules所说,问题应该包含细节. 更新: 解决方法
可以使用映射配置文件完成,
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap(); configFileMap.ExeConfigFilename = "App4.config"; // full path to the config file // Get the mapped configuration file Configuration config = ConfigurationManager.OpenMappedExeConfiguration( configFileMap,ConfigurationUserLevel.None); //now on use config object AppSettingsSection section = (AppSettingsSection)config.GetSection("appSettings"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 当锁定活动记录时,ruby on rails会自动锁
- ruby – ActiveRecord干扰Logger
- C++通过Callback向C#传递数据的方法
- UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
- Oracle LONG and LONG RAW Causing “Stream has already b
- Result set type is TYPE_FORWARD_ONLY
- [WWDC] What's New in Swift 4 ?
- cocos2d-x win7 搭建 android 开发环境====》细节问题
- 验证输入的网址是否正确的正则
- Oracle查询中rownum与Order by查询的关系(取数据的前几条)