5

Me pregunto si es posible compilar diferentes instaladores que incluyan diferentes archivos para proyectos de implementación en función de la configuración de compilación (depuración/versión).Proyecto de implementación de Visual Studio: archivos condicionales según la configuración de compilación

quiero hacer esto porque:

  1. Durante la etapa de depuración, nos gustaría instalar algunos archivos de depuración adicionales (* .pdb), junto con los binarios en la máquina de prueba de modo que si algo va mal , podemos saber qué está pasando
  2. Durante la etapa de publicación, no deseamos que los usuarios tengan estos archivos de depuración. Y no queremos que sea una opción para que los usuarios instalen * pdb; la mayoría de ellos no sabe para qué son estos archivos y una opción para ellos solo causará confusión

Las dificultades que actualmente estoy enfrentando :

  1. Intenté abrir el archivo del proyecto de implementación (* .vdproj) y es muy diferente de otros tipos de proyectos como CSharp. Los archivos del proyecto de implementación no son XML, y parece que no puedo escribir algo como:.
  2. He revisado el sitio de Microsoft: http://msdn.microsoft.com/en-us/library/cz6k1z02%28v=vs.80%29.aspx No hay condiciones de implementación relacionadas con la configuración de compilación.
  3. Como quiero establecer la condición de acuerdo con las configuraciones de compilación, supongo que el archivo del proyecto al menos debería poder decir cuál es la configuración seleccionada actualmente. Sin embargo, el administrador de configuración para la implementación es muy simple: solo puedo cambiar el URL de salida, empaquetado, compresión e instalación. Parece que no puedo definir macros adicionales como podría para otro tipo de proyectos (por ejemplo, CSharp)
+0

acabaste encontrar la manera de hacer esto? – JohnnyFun

+0

No, no lo creo ... No creo que esto haya sido posible en el Visual Studio que estaba usando en ese momento. Si mal no recuerdo, lo más cercano que podrías conseguir es agregar un nuevo entorno (a saber, 'InstallPDB' o algo así). Entonces, en lugar de compilar algo, también puede ejecutar comandos de DOS arbitrarios. No estoy seguro acerca de los nuevos estudios de Visual ya que ya no estoy programando en Windows. –

+0

Suena bien. Terminé escribiendo un script de nodo que se ejecuta como un evento de compilación posterior para mi proyecto y pasa la configuración a, y eso copia los archivos condicionalmente donde el instalador los obtiene. Funciona genial. ¡Aún así gracias por la actualización! – JohnnyFun

Respuesta

0

Solo para agregar mis dos centavos, tenía una necesidad similar en mi proyecto de WPF. Tengo diferentes archivos .config para diferentes configuraciones de compilación (depuración, control de calidad y versión) que se generan correctamente en la carpeta de salida/bin/

Me di cuenta de que los archivos de salida para la salida primaria enumeran mi archivo .exe desde la configuración correcta carpeta (es decir,/bin/Versión) sin embargo, el archivo .config proviene del directorio raíz del proyecto (App.config) y luego se renombra al nombre de mi proyecto.

lo tanto, para evitar esto, yo:

  1. creó un evento posterior a la generación copiar el archivo .config mi generador a una carpeta llamada ConfigDeploy.

    COPY/Y $ (TargetDir) $ (TargetFileName) .config $ (SolutionDir) ConfigDeploy \ $ (TargetFileName) .config

  2. ignoró mi archivos .config de la producción primaria haciendo clic derecho en mi artículo de salida primaria , ir a propiedades y el establecimiento de un "* .config" filtro en "ExcludeFilter"

enter image description here

  1. creado una entrada en el archivo de mi archivo .config en el "Programa Carpeta de archivos/MyApplica ción "que apunta al archivo en la carpeta ConfigDeploy

En cuanto a los archivos .pdb, es más sencillo.Sólo tiene que añadir un producto del proyecto y elegir símbolos de depuración a continuación, seleccione la configuración que necesita

enter image description here

Cuestiones relacionadas