Obter cadeia de conexão do App.config

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

E este é meu App.config:

       

Mas quando meu projeto é executado, esse é o meu erro:

Referência de object não definida para uma instância de um object.

Você não pode apenas fazer o seguinte:

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

Seu assembly também precisa de uma referência para System.Configuration.dll

Como essa é uma pergunta muito comum, preparei algumas capturas de canvas do Visual Studio para facilitar o acompanhamento em quatro etapas simples.

obter cadeia de conexão de app.config

 string str = Properties.Settings.Default.myConnectionString; 

Além disso, verifique se você incluiu a dll System.Configuration em suas referências. Sem ele, você não terá access à class ConfigurationManager no namespace System.Configuration.

Primeiro Adicione uma referência de System.Configuration à sua página.

 using System.Configuration; 

Então, de acordo com o seu app . Config obter a seqüência de conexão da seguinte forma.

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

É isso aí agora você tem sua seqüência de conexão em sua mão e você pode usá-lo.

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

Experimente isso

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

1) Crie um novo formulário e adicione isto:

 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 

então quando você quiser usar a conexão, faça isso em seu formulário:

  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() 

e é isso. Você estará conectado ao DB e poderá fazer coisas.

Isto é para vb.net mas a lógica é a mesma.

Você tentou:

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

Eu tive o mesmo problema. minha solução foi construída a partir de dois projetos. Uma Class library e um site que faz referência ao projeto de biblioteca de classs. o problema era que eu estava tentando acessar o App.config no meu projeto de Class library , mas o sistema estava pesquisando no Web.config do site. Eu coloquei a string de conexão dentro do Web.config e … problema resolvido!

O principal motivo foi que, apesar do ConfigurationManager sido usado em outro assembly, ele estava pesquisando dentro do projeto runnig.

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

Você pode buscar a string de conexão usando abaixo da linha de código –

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

Aqui está uma referência: String de conexão do App.config

Parece que o problema não é com referência, você está recebendo o connectionstring como null então por favor, certifique-se de ter adicionado o valor ao arquivo de configuração do seu projeto em execução, significando o programa / biblioteca principal que é iniciado / executado primeiro.

É possível que o OP nesta questão esteja tentando usar um App.Config dentro de uma dll.

Neste caso, o código está realmente tentando acessar o App.Config do executável e não a dll. Como o nome não é encontrado, você recebe um valor Nulo retornado, portanto, a exceção mostrada.

A postagem a seguir pode ser útil: ConnectionString de app.config de uma DLL é nulo

Primeiro, você precisa adicionar a referência System.Configuration ao seu projeto e, em seguida, usar o código abaixo para obter a string de conexão.

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

Isso funcionou para mim:

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

Saídas:

Fonte de dados = .; Catálogo inicial = OmidPayamak; IntegratedSecurity = True ”

Eu referenciei a biblioteca System.Configuration e tenho o mesmo erro. Os arquivos de debugging não tinham seu app.config, crie manualmente esse arquivo. O erro é, eu resolvi esta copiando o arquivo “appname.exe.config” na pasta de debugging. O IDE não criou o arquivo.

Eu resolvi o problema usando o índice para ler a string e verificando um por um. A leitura usando o nome ainda dá o mesmo erro.
Eu tenho o problema quando eu desenvolver um aplicativo de janela c #, eu não tive o problema no meu aplicativo asp.net. Deve haver algo no cenário que não está certo.