从app.config读取ConnectionString后为null

本文关键字:后为 null ConnectionString 读取 app config | 更新日期: 2023-09-27 18:00:52

我正在用VS 2010用C#编程。我将ConnectionString存储在app.config文件中,并在想要打开与数据库的连接时从中读取。不幸的是,无论我在做什么,连接字符串总是"null"。这是我的app.config文件,我将其重命名为"options.config".

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="connstring"
     connectionString="Data Source=10.10.10.10;Initial Catalog=testdb;Integrated Security=SSPI"/>
  </connectionStrings>
</configuration>

我还添加了对System.configuration-assembly的引用。

然后只是从配置文件中读取:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Collections.Specialized;
namespace Test_Class
{
   public abstract class SQLConnectionString
    {
   static string connectionstring = ConfigurationManager.ConnectionStrings["connstring"].ConnectionString;
   public static string ConnectionString 
   {
       get
       {
           return connectionstring;
       }
       }
}
}

从app.config读取ConnectionString后为null

启动调试会话时,如果有一个名为app.config的文件,则会将其复制到BIN''debug文件夹中并重命名为YourApplication.Exe.Config

此名称是ConfigurationManager希望在当前应用程序启动路径中找到的名称。

如果您将app.config重命名为其他文件,则此机制将不再工作,并且您不能期望ConfigurationManager类在其他文件中找到有关连接字符串的信息(至少不需要进行一些额外的代码调整(。您可能在BIN''DEBUG目录中有此YourApplication.Exe.Config的旧副本。一个未定义ConnectionStrings节的。

我建议将该文件重命名回app.config,并让VSIDE来完成它的工作。