从.net中的app.config或web.config中读取设置

我正在研究一个C#类库,它需要能够从web.configapp.config文件中读取设置(具体取决于DLL是从ASP.NET Web应用程序还是Windows窗体应用程序中引用的)。

我发现了

ConfigurationSettings.AppSettings.Get("MySetting")

工作,但该代码已被标记为Microsoft弃用。

我读过,我应该使用:

ConfigurationManager.AppSettings["MySetting"]

但是, System.Configuration.ConfigurationManager类似乎从C#类库项目中不可用。

有谁知道做这件事的最好方法是什么?


您需要在项目的引用文件夹中 添加System.Configuration引用

您肯定应该使用ConfigurationManager覆盖过时的ConfigurationSettings


对于如下的示例App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="countoffiles" value="7" />
    <add key="logfilelocation" value="abc.txt" />
  </appSettings>
</configuration>

您使用下面显示的代码阅读上述应用程序设置:

using System.Configuration;

如果您的项目中还没有一个,您可能还需要在项目中添加对System.Configuration的引用。 然后你可以像这样访问值:

string configvalue1 = ConfigurationManager.AppSettings["countoffiles"];
string configvalue2 = ConfigurationManager.AppSettings["logfilelocation"];

希望这可以帮助!


框架4.5和4.6的更新; 以下将不再起作用:

string keyvalue=System.Configuration.ConfigurationManager.AppSettings["keyname"];

现在通过Properties访问Setting类:

string keyvalue= Properties.Settings.Default.keyname;

请参阅管理应用程序设置以获取更多信

链接地址: http://www.djcxy.com/p/3571.html

上一篇: Reading settings from app.config or web.config in .net

下一篇: Static readonly vs const