He creado una aplicación de consola (blah.exe) con app.config específica para dev y prod. Estos se llaman dev_app.config
y prod_app.config
. He conectado un objetivo AfterBuild
en mi archivo csproj * que copia el archivo de configuración correcto en el directorio bin como blah.exe.config
.Cómo usar el archivo final {project} .exe.config al crear un proyecto de instalación
También he creado un proyecto de instalación para esta aplicación de consola, pero me he encontrado con un pequeño problema. Parece que el proyecto de instalación usa el app.config
real del directorio del proyecto en comparación con el blah.exe.config
final (ubicado en el directorio bin).
|--Bin
| |--Debug
| |--Blah.exe.config <--- I want the setup project to use this file
|--app.config <--- Setup project uses this file at the moment
|--dev_app.config
|--prod_app.config
¿Cómo puedo forzar el proyecto configuración para utilizar el archivo de configuración final generado en la carpeta bin y no el archivo real app.config
?
Información adicional:
Mi solución actual implica la adición de otro comando AfterBuild
que sobrescribe el archivo real app.config
. No me gusta el enfoque, ya que me obliga a tener un archivo adicional que no necesito. Además, tener este archivo me ha causado algo de pena ya que hice cambios en el archivo app.config
que se sobreescribió al compilar. La pregunta es cómo hacer que el proyecto de instalación utilice el archivo de configuración final en la carpeta bin y NOT cómo administrar la configuración o formas de crear un archivo de configuración.
* Adaptado de Deploy an app.config based on build configuration
¿Está utilizando la versión DEBUG para dev y la versión para producción? Si es así, puedes echar un vistazo al uso de #if DEBUG http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx y quizás cargar los diferentes archivos de configuración basados en eso usando http://msdn.microsoft .com/en-us/library/ms223161.aspx –
@astander, sí 'dev_app.config' para Debug y' prod_app.config' para Release. – Ahmad
No estoy seguro de por qué lo haces de esta manera. Cree el archivo base .config para que sea adecuado para la implementación. Solo crea uno especial para la configuración de depuración. Despliega la versión Release. –