6

mi solución tiene dos proyectos. uno es mi proyecto real y otro es el proyecto de configuración. mi proyecto real tiene una carpeta de informes donde almaceno mi informe de todos los ssrs. Tengo una carpeta en el proyecto de instalación llamada "SSRS_Repor". ahora quiero que cuando haga la creación por lotes, la configuración para mi proyecto se vuelva a generar y luego quiera copiar todos los archivos de la carpeta de informes de mi proyecto real a SSRS_Repor en mi proyecto de instalación. Si puedo hacer este tipo de automatización de copiar archivos de una ubicación a otra carpeta de mi proyecto de instalación, entonces podría deshacerme de la copia manual de archivos rdls. Esto es posible gracias a los proyectos de configuración/implementación. busco en google esto para obtener detalles de la instrucción paso a paso pero no obtuve un buen enlace. así que por favor guíame cómo puedo hacerlo.Cómo configurar eventos posteriores a la construcción para proyectos de configuración/implementación en Visual Studio

lo pongo a otro foro también y algunos uno me dio por debajo de este

Open or create a setup/deployment project in Visual Studio 2005 
Press F4 to display the Properties window 
Click on the name of your setup/deployment project in the Solution Explorer 
Click on the PostBuildEvent item in the Properties window to cause a button labeled "..." to appear 
Click on the "..." button to display the Post-build Event Command Line dialog 
Add a command line of your choice in the Post-build event command line text box 
Build your project in Visual Studio and verify that the post-build event is executed after the main MSI build 

por lo que está bien, pero lo que tengo que escribir para copiar archivos de un lugar a otro lugar que no está claro para mí . así que ahora esto es lo más importante para mí, qué escribir para copiar el archivo durante la generación de configuración.

tengo otra pista como debajo de una. script para la configuración Pre/Post Build Event pero no consciente correctamente. me dieron una muestra como

copia/Y "$ (TargetDir) $ (Nombre del Proyecto) .dll" "$ (SolutionDir) lib \ $ (Nombre del Proyecto) .dll"

la declaración o la línea anterior es no está claro para mí lo que necesito escribir en mi caso? así que necesito una guía paso a paso.

aquí es la captura de pantalla de mi estructura del proyecto enter image description here

Respuesta

11

Para responder a su pregunta, simplemente.

Los comandos que ingresa en los eventos de compilación (ya sea previa o posterior) son los mismos que ingresaría en un cuadro de línea de comando.

En su ejemplo:

copy /Y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)lib\$(ProjectName).dll" 

copia es el comando real de la copia de DOS.

/Y es un interruptor regular que impide la confirmación de avisos.

"$ (TargetDir) $ (ProjectName) .dll" es el archivo de origen para copiar.

"$ (SolutionDir) lib \ $ (ProjectName) .dll" es el destino donde copiar el archivo.

Se puede hacer referencia aquí para tener información adicional sobre los comandos de archivos por lotes: Batch command list

Los $ ({identificador}) son macros que se pueden utilizar en Visual Studio pre/post construir diseñador evento.

Se puede hacer referencia a la ayuda en línea de MSDN para obtener más detalles sobre las macros: MSDN Macros List

La línea proporcionado a usted no haría lo que quiere, por lo general es utilizado para copiar archivos DLL en una carpeta de la biblioteca usado por otros proyectos o solución.

La solución que encontró para crear un nuevo evento de construcción es correcta.

Todo lo que queda por hacer es escribir el comando que realmente va a copiar los archivos.

Se vería algo como esto:

XCOPY "$(SolutionDir)TestProject\Reports\*.*" "$(SolutionDir)TestSetup1\SSRS_Repor" /Q /E /I 

/Q: Romántico | No mostrar los archivos que se copian

/E: recursiva (estructura de subcarpetas y archivos de copia)

/I: Considere que el destino es una carpeta si no existe ya (se creará una nueva carpeta si es necesario)

+4

no se olvide de hacer uso del botón de macros (Después de hacer clic en Editar Pre-construcción o Editar posterior a la generación) para que pueda ver lo que las propiedades son MSBuild. Muy ayuda cosa que es. –

Cuestiones relacionadas