none
Ignorar el archivo machine.config y trabajar con app.config RRS feed

  • Pregunta

  • Buenos días a todos, estoy desarrollando una aplicación de escritorio con VS 2010. El problema es que cada vez que intento tomar la cadena de conexión que incluí en el archivo app.config (renombrado previamente a Presentation.exe.config como lo leí por ahí) a través de la instrucción...

    ConfigurationManager.ConnectionStrings(0).ConnectionString.ToString


     ...me trae la cadena de conexión presente en el archivo machine.config. He intentado todo lo que he encontrado en muchos foros pero siempre me trae la misma cadena. Mi archivo de configuración es muy sencillo y contiene lo siguiente:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <clear />
        <add name="base" connectionString="Data Source=192.168.16.10;Initial Catalog=MiBD;User ID=sa;Password=MiPassword" />
      </connectionStrings>
    </configuration>

    El tag <clear /> lo vi como posible solución en varios foros pero a mi y a varias otras personas no les ha resultado, luego ya probando suerte he puesto </clear>, <clear></clear>, en vez de hacer referencia al indice 0 he tratado de llamar a la cadena a través de "base" (en este caso ha sido peor porque al considerar el archivo machine.config no encuentra el nombre "base" lo cual da un error). Por favor, si alguien conoce la causa de esto y su posible solución por favor que la comparta, muchas gracias.

    Saludos,

    Patricio



    Patricio

    miércoles, 11 de diciembre de 2013 14:46

Todas las respuestas

  • Hola:

     Es que debes de proporcionar el nombre del segmento que contiene el valor de tu cadena de conexion, en tu caso "base":

    ConfigurationManager.ConnectionStrings("base").ConnectionString.ToString()

    App. Config, cadenas de conexión

    Analiza el articulo


    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 11 de diciembre de 2013 14:58
  • Gracias por responder Luis, acabo de leer todo el documento (q por cierto está muy bien) pero no logro dar con la solución:

    ConfigurationManager.ConnectionStrings("base").ConnectionString.ToString()
    
    ConfigurationManager.ConnectionStrings(0).ConnectionString.ToString()

    Con ninguna de las lineas anteriores logro obtener mi cadena desde app.config.

    Saludos,


    Patricio

    miércoles, 11 de diciembre de 2013 16:01
  • Podrias mostrarme el fragmento de código con el cual intentas leer el archivo de configuración, por cierto supongo que hiciste la referencia a System.Configuration?

    Saludos desde Monterrey, Nuevo León, México!!!

    miércoles, 11 de diciembre de 2013 16:14
  • Hola nuevamente Luis, finalmente he podido tomar la configuración desde el app.config. Lamentablemente no se como sucedió, lo que hice fue algo más radical, elimine el proyecto de windows form contenido en la solución, lo agregué nuevamente importando los formularios, edité el nuevo app.config con mi cadena de conexión y funcionó! Me parece que lo más destacable de este pequeño hilo fue el enlace que me recomendaste (App. Config, cadenas de conexión) donde explicas los usos y formas de crear y llamar los archivos de configuración de aplicaciones. Ahora intentaré encriptar dichas cadenas así que tal vez vuelva luego por acá.


    Saludos Cordiales,

    Patricio


    Patricio

    miércoles, 11 de diciembre de 2013 20:21