c# – 如何在一个项目中使用多个应用程序配置文件?

c# – 如何在一个项目中使用多个应用程序配置文件?,第1张

概述创建新的Visual C#控制台应用程序(.NET Framework 4.5)后,此类项目包含默认的App.config文件. 在将System.Configuration的参考添加到项目之后,并使用System.Configuration在某些源文件中使用它;我可以使用静态类ConfigurationManager来 *** 作App.config文件.但之前,我想为文件添加一些设置,所以它是这样的: 创建新的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所说,问题应该包含细节.

更新:
从已经existing answer“选项:您可以使用ConfigurationManager类按代码加载备用配置文件.从msdn读书我没有得到我应该使用哪些方法.我应该打开Exe配置吗?

解决方法 可以使用映射配置文件完成,
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 objectAppSettingsSection section = (AppSettingsSection)config.GetSection("appSettings");
总结

以上是内存溢出为你收集整理的c# – 如何在一个项目中使用多个应用程序配置文件?全部内容,希望文章能够帮你解决c# – 如何在一个项目中使用多个应用程序配置文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1258538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存