Obtener la cadena de conexión de App.config

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

Y este es mi App.config:

       

Pero cuando mi proyecto se ejecuta, este es mi error:

Referencia a objeto no establecida como instancia de un objeto.

¿No puedes hacer lo siguiente?

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

Su ensamblado también necesita una referencia a System.Configuration.dll

Dado que esta es una pregunta muy común, he preparado algunas capturas de pantalla de Visual Studio para que sea más fácil seguirlas en 4 sencillos pasos.

obtener la cadena de conexión de app.config

 string str = Properties.Settings.Default.myConnectionString; 

También verifique que haya incluido el System.Configuration dll debajo de sus referencias. Sin él, no tendrá acceso a la clase ConfigurationManager en el espacio de nombres System.Configuration.

Primero, agregue una referencia de System.Configuration a su página.

 using System.Configuration; 

Luego, según su app.config, obtenga la cadena de conexión de la siguiente manera.

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

Eso es todo, ahora tienes tu cadena de conexión en tu mano y puedes usarla.

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

Probar esto

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

1) Crea un nuevo formulario y agrega esto:

 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 

luego, cuando quieras usar la conexión, haz esto en tu forma:

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

y eso es. Estarás conectado a la base de datos y puedes hacer cosas.

Esto es para vb.net pero la lógica es la misma.

Has probado:

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

Tuve el mismo problema. mi solución fue construida a partir de dos proyectos. Una Class library y un sitio web que hacen referencia al proyecto de biblioteca de clase. el problema era que estaba intentando acceder a App.config en mi proyecto de Class library pero el sistema estaba buscando en Web.config del sitio web. Puse la cadena de conexión dentro de Web.config y … problema resuelto!

La razón principal fue que a pesar de que se utilizó ConfigurationManager en otro ensamblado, se estaba buscando dentro del proyecto runnig.

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

Puede buscar la cadena de conexión utilizando la siguiente línea de código:

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

Aquí hay una referencia: Cadena de conexión de App.config

Parece que el problema no está en la referencia, está conectando la conexión como nulo, así que asegúrese de haber agregado el valor al archivo de configuración del proyecto en ejecución, es decir, el progtwig / biblioteca principal que se inicia / ejecuta primero.

Es posible que el OP en esta pregunta intente usar una App.Config dentro de un dll.

En este caso, el código realmente está intentando acceder a la App.Config del ejecutable y no al dll. Como no se encuentra el nombre, se obtiene un Nulo devuelto, de ahí la excepción mostrada.

La siguiente publicación puede ser útil: ConnectionString de app.config de una DLL es nulo

Primero debe agregar la referencia de System.Configuration a su proyecto y luego usar el código siguiente para obtener la cadena de conexión.

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

Esto funcionó para mí:

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

Productos:

Fuente de datos =. Catálogo inicial = OmidPayamak; IntegratedSecurity = True ”

Hice referencia a la biblioteca System.Configuration y tengo el mismo error. Los archivos de depuración no tenían su app.config, crean manualmente este archivo. El error es que resolví esto copiando el archivo “appname.exe.config” en la carpeta de depuración. El IDE no fue crear el archivo.

Resolví el problema usando el índice para leer la cadena y verificar uno por uno. Leer usando el nombre todavía da el mismo error.
Tengo el problema cuando desarrollo una aplicación de ventana C #, no tuve el problema en mi aplicación asp.net. Debe haber algo en el entorno que no sea correcto.