var connection = ConnectionFactory.GetConnection(
    ConfigurationManager.ConnectionStrings["Test"]
    .ConnectionString, DataBaseProvider);

这是我的app。config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

但是当我的项目运行时,这是我的错误:

对象引用未设置为对象的实例。


当前回答

这招对我很管用:

string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;

输出:

数据源=.;初始目录=OmidPayamak;集成安全性=True"

其他回答

似乎问题不在于引用,你得到的connectionstring为空,所以请确保你已经将该值添加到配置文件中,你正在运行的项目意味着首先启动/执行的主程序/库。

还要检查是否包含了系统。在您的引用下配置dll。没有它,您将无法访问系统中的ConfigurationManager类。配置名称空间。

试试这个

string abc = ConfigurationManager.ConnectionStrings["CharityManagement"].ConnectionString;

首先,您必须添加System。配置引用到您的项目,然后使用下面的代码获取连接字符串。

_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();

为了从app.cfg(在windows服务应用程序中)读取连接字符串,下面的代码对我有用

 var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
    connectionStringsSection.ConnectionStrings["CONNECTIONSTR"].ConnectionString = @"New Connection String";