关于c#:从App.config获取连接字符串

Get connection string from App.config

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

这是我的app.config:

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
       
    </connectionStrings>
</configuration>

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

0


你不能只是做下面的:

1
2
3
var connection =
    System.Configuration.ConfigurationManager.
    ConnectionStrings["Test"].ConnectionString;

所以你需要一个System.Configuration.dll参考组装


因为这是很普通的问题,我准备了一些屏幕镜头从Visual Studio使它易于后续4简单的步骤。

get connection string from app.config


1
string str = Properties.Settings.Default.myConnectionString;


所以你检查下你的System.Configuration包括DLL的引用。没有它,你不会有ConfigurationManager舱在进入系统。配置命名空间。


第一参考System.ConfigurationAdd a)到你的页面。

1
using System.Configuration;

然后根据您的app.config连接字符串作为后续get。

1
string conStr = ConfigurationManager.ConnectionStrings["Test"].ToString();

很好,现在你有你的连接字符串在你的手,你可以使用它。


1
2
3
4
5
6
7
//Get Connection from web.config file
public static OdbcConnection getConnection()
{
    OdbcConnection con = new OdbcConnection();
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["con"].ConnectionString;
    return con;    
}


试试这个了

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

我有同样的问题。我的解决方案是建立从两个项目。a Class library网站引用和一个类库项目。问题是,我想在我的项目App.config访问Class library但系统在Web.config什么搜索网站。我把连接字符串内Web.config…解决的问题!

主要的原因是,它是用在另一ConfigurationManager组装这是搜索项目在运行。


1)创建一个新的形状和添加本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Imports System.Configuration
Imports Operaciones.My.MySettings

Public NotInheritable Class frmconexion

    Private Shared _cnx As String
    Public Shared Property ConexionMySQL() As String
        Get
            Return My.MySettings.Default.conexionbd
        End Get
        Private Set(ByVal value As String)
            _cnx = value
        End Set
    End Property

End Class

然后,当你想使用连接做在你的形状:

1
2
3
4
 Private Sub frmInsert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim cn As New MySqlConnection(frmconexion.ConexionMySQL)
cn.open()

它与我。你将连接到数据库和可以做的东西。

这是一个VB.NET但逻辑是一样的。


你有没有试过:

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

1
string sTemp = System.Configuration.ConfigurationManager.ConnectionStrings["myDB In app.config"].ConnectionString;


它似乎是一个问题,你可以参考,所以请确保连接字符串为空,你已经添加到您的配置文件的价值的项目布局,运行主程序开始执行,是吗/图书馆/第一。


它是可能的是,手术在这个问题是在应用程序试图使用。配置在一个DLL。

在这个案例的代码实际上是试图访问的应用程序的可执行文件。配置和没有的DLL。因为你的名字是没有发现,get a零度四,异常显示。

下面的邮件可能有:一个DLL是在app.config连接字符串的零


这为我工作。

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

输出:

Data Source=.;Initial Catalog=OmidPayamak;IntegratedSecurity=True"


第一,你必须添加到您的项目的参考System.Configuration然后使用下面的代码把连接字符串。

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

你可以读取连接字符串通过使用下面的代码行

1
2
3
using System; using System.Configuration;

var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

这里是一个参考:在app.config连接字符串


i解决的问题通过使用指数和一个读通过检查一个字符串。安静地阅读使用的名字给同样的错误。我有一个问题,当我开发的C #窗口应用程序有问题,我没有在我的ASP.NET应用程序。必须有一些在设置这是不正确的。


System.Configuration参考图书馆和我有同样的错误。没有他们的app.config文件的调试,手动创建这个文件。这是我的错误,我复制文件"文件夹中appname.exe.config"调试。在IDE中创建文件,需要的是什么。