Cómo compartir App.config?

¿Cómo puedo compartir / vincular App.config o Web.config entre múltiples proyectos en una solución de estudio visual?

En el cuadro de diálogo Agregar elemento existente que obtiene del Explorador de soluciones de Visual Studio, puede agregar un vínculo a otro archivo en el disco del proyecto. Para hacer esto, deberá hacer clic en la flecha hacia abajo en el lado derecho del botón Agregar y seleccionar Agregar como enlace .

Otro enfoque de Microsoft:

Utilice el atributo de archivo del elemento para especificar un archivo externo que definirá los elementos comunes de .

El archivo externo tendrá el mismo esquema que el de un archivo app.config, con la excepción de que el nodo raíz debe ser lugar de .

Creando un archivo de configuración común:

  1. En el menú Archivo, señale Nuevo, luego haga clic en Archivo.
  2. En el cuadro de diálogo Nuevo archivo, haga lo siguiente:

    a. En el panel Categorías, elija General.
    segundo. En el panel Plantillas, elija Archivo XML.
    do. Haga clic en el botón Abrir para crear un nuevo archivo de configuración común.

  3. Agregue un nuevo elemento .

  4. Agregue tantos ajustes de configuración comunes como se requiera dentro del nodo usando elementos la misma manera que lo haría con cualquier archivo app.config normal.

  5. Guarde el archivo de configuración.

Especificando el archivo de configuración común en cada proyecto

  1. Abra el archivo app.config de cada proyecto de cliente.

  2. Navegue hasta el elemento dentro del nodo . Si un elemento no existe, agregue uno nuevo.

  3. Agregue un nuevo archivo de atributos al elemento y especifique la ruta relativa del archivo de configuración común como su valor.
    El proyecto del cliente ahora podrá acceder a la configuración de configuración común.

Ejemplo

El siguiente ejemplo muestra cómo definir las configuraciones comunes en un archivo externo.

       

El siguiente ejemplo muestra cómo especificar la ruta al archivo de configuración común en el archivo app.config de un proyecto.

      

Como se muestra en el ejemplo, el archivo app.config de un proyecto de cliente puede tener configuraciones adicionales especificadas en el elemento además de apuntar al archivo de configuración común. Si la misma configuración se especifica varias veces, se utiliza el último valor especificado. Si se especifica la misma configuración tanto en el archivo de configuración común como en el archivo del proyecto del cliente app.config, se utiliza el valor especificado en el archivo de configuración común.

Antes que nada, recuerde que un App.config, o web.config, es visible para todos los códigos que se ejecutan en cualquier proyecto que se usa dentro del “proceso” establecido por el proyecto de puesta en marcha dentro de una solución … es decir, si su solución tiene una aplicación de consola y 5 bibliotecas de clases, o una aplicación WinForms y 4 bibliotecas de clases, o un servicio de WIndows y 3 bibliotecas de clases, o una aplicación de consola que se utiliza como proyecto de inicio, y otra aplicación de consola como biblioteca de clases, luego no tiene problema, la configuración app.config y todos los archivos a los que se hace referencia son visibles desde todos los proyectos.

En segundo lugar, si tiene dos o más procesos ejecutables por separado ejecutándose en su solución (como un servicio de Windows como servidor, Y un cliente de winforms), entonces si desea que compartan configuraciones de configuración específicas, puede poner esas configuraciones en el archivo machine.config, aunque deberías tener cuidado al hacer esto … y algunos equipos de servidores empresariales lo fruncen el ceño.

De acuerdo con el Post de nawfal, use el atributo configSource, si desea manipular la configuración de la aplicación con ConfigurationManager: