配置文件app.config怎么调用呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置文件app.config怎么调用呢?相关的知识,希望对你有一定的参考价值。

string str=System.Configuration.ConfigurationSettings.AppSettings["connection"].ToString();//app.config中设置key="connection"
我是这样调用的,但是报错:未将对象引用设置到对象的实例;
此外,还有一个警告,说:未声明“key”属性
不知道哪里错了呐?谢谢大家

这样调用:
string str=System.Configuration.ConfigurationManager["connection"].ToString();//connection是配置文件中的name
SQLConnection con=new SQLConnection(str);

app.config中设置如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add connectionString="Data Source=Lilith-PC\SQL2005;Initial Catalog=ManagementSoftware;Integrated Security=True" name="connection"/>
</connectionStrings>
</configuration>

此外,注意app.config要放在表示层里
参考技术A app.config格式如下(必须放在configuration\appSettings下面):
<configuration>
<appSettings>
<add key="DebugLevel" value="Debug" />
</appSettings>
</configuration>

C#代码如下:

using System.Configuration;

然后使用下面代码调用
string DebugLevel = ConfigurationManager.AppSettings.Get("DebugLevel");

注意在project的引用中增加System.Configuration,这个需要手工增加的
参考技术B 这样调用:
string str=System.Configuration.ConfigurationManager["connection"].ToString();//connection是配置文件中的name
SQLConnection con=new SQLConnection(str);

app.config中设置如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add connectionString="Data Source=Lilith-PC\SQL2005;Initial Catalog=ManagementSoftware;Integrated Security=True" name="connection"/>
</connectionStrings>
</configuration>

此外,注意app.config要放在表示层里

如何让 ConfigurationManager 读取 app.config 以外的配置文件?

【中文标题】如何让 ConfigurationManager 读取 app.config 以外的配置文件?【英文标题】:How to make ConfigurationManager read a config file other than app.config? 【发布时间】:2011-02-17 14:06:44 【问题描述】:

我需要解析位于另一个项目中的配置文件。我知道 ConfigurationManager 默认会读取 app.config 文件,但是如何让它读取特定的配置文件呢?

【问题讨论】:

默认情况下,应用程序从具有应用程序入口点的项目中读取配置文件。如果您想从项目中的配置文件中读取,请使用 [ConfigurationManager.OpenMappedExeConfiguration][0] 方法。这是使用此方法的minimal reproducible example[1]。 [0]:msdn.microsoft.com/en-us/library/ms134269.aspx [1]:dotnetanalysis.blogspot.com/2012/08/… 【参考方案1】:

或者像这样:

var fileMap = new ConfigurationFileMap(configFilePath);
Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(fileMap);

但是您仍然会遇到自定义配置部分的问题。

【讨论】:

【参考方案2】:
// Create a filemap refering the config file.
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = configFilePath;

// Retrieve the config file.
Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

【讨论】:

以上是关于配置文件app.config怎么调用呢?的主要内容,如果未能解决你的问题,请参考以下文章

关于App.config文件

C#app.config配置文件多组<appSettings>怎么办?

在vs中怎么手工配置App.config

如何让 ConfigurationManager 读取 app.config 以外的配置文件?

C#如何动态修改app.config配置文件?

winform中怎么在app.config中配置一个节点读取本地文件夹的路径