var connection = ConnectionFactory.GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
Y esta es mi 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>
Pero cuando mi proyecto se ejecuta, este es mi error:
Referencia a objeto no establecida como instancia de un objeto.
c#
ado.net
exception-handling
connection-string
app-config
Moham ad Jafari
fuente
fuente
Respuestas:
¿No puedes hacer lo siguiente?
Su ensamblaje también necesita una referencia a
System.Configuration.dll
fuente
System.Configuration.ConfigurationManager.ConnectionStrings("Test").ConnectionString
para aquellos de nosotros que tenemos que mantener el código VBComo esta es una pregunta muy común, he preparado algunas capturas de pantalla de Visual Studio para que sea fácil de seguir en 4 simples pasos.
fuente
using System.Configuration
aún funcionafuente
<connectionStrings>
elementos de app.config (¡que es lo que está pidiendo el OP!).También verifique que haya incluido el
System.Configuration
dll bajo sus referencias. Sin él, no tendrá acceso a laConfigurationManager
clase en el espacio de nombres System.Configuration.fuente
Primero agregue una referencia de
System.Configuration
a su página.Luego, según su app.config, obtenga la cadena de conexión de la siguiente manera.
Eso es todo, ahora tiene su cadena de conexión en la mano y puede usarla.
fuente
fuente
Probar esto
fuente
1) Cree un nuevo formulario y agregue esto:
luego, cuando desee utilizar la conexión, haga esto en su forma:
y eso es. Estarás conectado a la base de datos y podrás hacer cosas.
Esto es para vb.net pero la lógica es la misma.
fuente
Has probado:
fuente
Tuve el mismo problema. mi solución fue construida a partir de dos proyectos. A
Class library
y un sitio web que hace referencia al proyecto de biblioteca de clases. el problema era que estaba intentando accederApp.config
a miClass library
proyecto pero el sistema estaba buscando enWeb.config
el sitio web. Puse la cadena de conexión dentroWeb.config
y ... ¡problema resuelto!La razón principal fue que, a pesar de que
ConfigurationManager
se usó en otro ensamblaje, estaba buscando dentro del proyecto en ejecución.fuente
Puede usar este método para obtener la cadena de conexión
fuente
fuente
Primero debe agregar una
System.Configuration
referencia a su proyecto y luego usar el siguiente código para obtener la cadena de conexión.fuente
Esto funcionó para mí:
Salidas:
fuente
Puede buscar la cadena de conexión utilizando la siguiente línea de código:
Aquí hay una referencia: Cadena de conexión de App.config
fuente
Parece que el problema no está relacionado con la referencia, está obteniendo la cadena de conexiones como nula, así que asegúrese de haber agregado el valor al archivo de configuración de su proyecto en ejecución, es decir, el programa / biblioteca principal que se inicia / ejecuta primero.
fuente
Es posible que el OP en esta pregunta esté tratando de usar una App.Config dentro de un dll.
En este caso, el código está intentando acceder a la App.Config del ejecutable y no al dll. Como no se encuentra el nombre, se devuelve un Nulo, de ahí la excepción que se muestra.
La siguiente publicación puede ser útil: ConnectionString de app.config de un archivo DLL es nulo
fuente
Hice referencia a la
System.Configuration
biblioteca y tengo el mismo error. Los archivos de depuración no tenían su app.config, cree 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.fuente
Resolví el problema usando el índice para leer la cadena y verificando 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.
fuente