试图从App.config文件中获取String

时间:2014-09-02 08:30:55

标签: c# .net connection-string app-config configuration-files

我正在拼命尝试创建一个工作app.config文件,我想在其中保存数据库连接的连接字符串。

这是我的app.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Con" value="User Id = *******;password=**;data source=  (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1525))(CONNECT_DATA =(SERVER = DEDICATED)(SID = emtst)))"/>
  </appSettings>
</configuration>

当我试着在这里阅读时:

  string connStr = ConfigurationManager.AppSettings["Con"];
  this.odacManager = new ODACManager(connStr);

我只是得到一个空字符串。我正在使用System.Configuration

我也尝试过使用

ConfigurationManager.Connectionstring["Con"].ConnectionString

但这也行不通。

2 个答案:

答案 0 :(得分:0)

您应该在配置文件中使用<connectionStrings>元素:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <connectionStrings>
       <add name="Con" 
            connectionString="User Id=*******;password=**;data source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ******)(PORT = 1525))(CONNECT_DATA =(SERVER = DEDICATED)(SID = emtst)))"/>
   </connectionStrings>
</configuration>

然后将其读作:

string connStr = ConfigurationManager.ConnectionStrings["Con"].ConnectionString;

<强>更新

在.NET中,类库项目不能拥有自己的配置文件 - 它们不会被使用,也不会在运行时进行评估。

如果您的类库需要任何配置,您需要将该配置放入主机应用程序的 app.config(或web.config),以便类库可以在那里找到它(并使用它)。

答案 1 :(得分:0)

System.Configuration.ConfigurationSettings.AppSettings["Con"].ToString();