Estoy construyendo una aplicación que es utilizada por varios clientes diferentes. Cada cliente tiene una buena cantidad de lógica de negocios personalizada, que he refactorizado inteligentemente en un ensamblaje que se carga en tiempo de ejecución. El nombre de ese conjunto, junto con otras configuraciones específicas del cliente, se almacenan en el archivo de configuración de la aplicación.Gestionar múltiples archivos de configuración de la aplicación durante el desarrollo
En este momento, esto es lo que tengo que hacer con el fin de depurar la aplicación de foo del cliente:
- Ir al sistema de archivos en mi directorio del proyecto y eliminar
app.config
- Copia
app.config.foo
aapp.config.foo - Copy
. - Renombre
app.config.foo - Copy
comoapp.config
. - Indica a Windows que sí, deseo cambiar la extensión del archivo.
- Volver a Visual Studio.
- Abra el artículo
Settings.settings
en mi proyecto. - Haga clic en "Sí" 13 o 14 veces, ya que VS me pregunta si deseo usar la nueva configuración que se ha cambiado en
app.config
. - Cerrar
Settings.settings
.
¡Bien! ¡Ahora estoy listo para depurar!
Me parece que el rigamarole de apertura Settings.settings
es, o debe ser, innecesario: no necesito los valores predeterminados en Settings.cs
para regenerar, porque no los uso. Pero es la única forma que conozco de hacer que VS sea consciente del hecho de que el archivo app.config
ha cambiado, por lo que la compilación lo copiará en el directorio de salida.
Tiene que haber una manera más fácil de hacerlo. ¿Qué es?
Esto funciona, aunque es un largo trabajo en torno a la funcionalidad que realmente debería estar en el IDE. – Jeremy
También requiere que cree dos configuraciones (depurar y liberar) para cada cliente. Eso huele a la respuesta incorrecta para mí. –
Esto funciona como un encanto. Cada ubicación (QA/DEV1/Production) tiene su propio archivo de configuración. ZERO HASSLE. Esto solo funciona ¡¡eres un genio!! Hice esto para app.config que funciona con un servicio WCF por cliente por ubicación. Funciona de maravilla. ¡eres mi héroe! –