Ambas configuraciones de proyecto me permiten ejecutar comandos personalizados. ¿Cuáles son los beneficios o inconvenientes de cada uno?¿Cuál es la diferencia entre un paso de compilación personalizado y un evento de postconstrucción?
¿Cuál es la diferencia entre un paso de compilación personalizado y un evento de postconstrucción?
Respuesta
Gran diferencia. Un paso de compilación personalizado le permite especificar dependencias y resultados. Lo que permite que el sistema de compilación determine cuando para ejecutar el paso y omitirlo cuando el resultado ya está actualizado. Un evento posterior a la compilación es siempre ejecutado cuando el proyecto requiere construcción y se fija el tiempo.
Parece que la respuesta de @Hans consiguió que cambiara, la principal diferencia es que si no es necesario compilar ningún archivo, no se producirán eventos de compilación.
de la documentación de MSDN:
eventos construir y construir pasos se ejecutan en el orden siguiente junto con otros pasos de generación personalizados:
Pre-Build event
Custom build tools on individual files
MIDL
Resource compiler
The C/C++ compiler
Pre-Link event
Linker or Librarian (as appropriate)
Manifest Tool
BSCMake
Custom build step on the project
Post-Build event
El paso de generación personalizada en el proyecto y un puesto -build event ejecuta secuencialmente después de que finalicen todos los demás procesos de compilación.
Los eventos de compilación se ejecutan solo si la compilación alcanza con éxito esos puntos en el proceso de compilación. Si ocurre un error en la compilación, el evento de post-compilación no ocurrirá; si el error ocurre antes de la fase de enlace, ni el pre-enlace ni el evento de post-construcción ocurrirán. Además, si no es necesario vincular ningún archivo, el evento previo al enlace no ocurrirá. El evento previo al enlace tampoco está disponible en proyectos que no contienen un paso de enlace. Si no es necesario compilar ningún archivo, no se producirán eventos de compilación.
Desde el entorno de desarrollo Visual Studio C++, hay tres formas básicas para personalizar el proceso de construcción:
estructura de encargo Pasos Un paso de generación personalizada es una regla de generación asociado a un proyecto. Un paso de compilación personalizado puede especificar una línea de comando para ejecutar, cualquier archivo de entrada o salida adicional y un mensaje para mostrar. Para obtener más información, vea Cómo agregar un paso de compilación personalizado a proyectos de MSBuild.
Herramientas de compilación personalizadas Una herramienta de compilación personalizada es una regla de compilación asociada con uno o más archivos. Un paso de compilación personalizado puede pasar archivos de entrada a una herramienta de compilación personalizada, lo que da como resultado uno o más archivos de salida. Por ejemplo, los archivos de ayuda en una aplicación MFC se crean con una herramienta de compilación personalizada. Para obtener más información, consulte Cómo agregar herramientas de compilación personalizadas a proyectos de MSBuild y especificar herramientas de compilación personalizadas. Eventos de compilación
Los eventos de compilación le permiten personalizar la compilación de un proyecto. Hay tres eventos de compilación: preconstrucción, pre-enlace y post-compilación. Un evento de compilación le permite especificar que una acción ocurra en un momento específico del proceso de compilación. Por ejemplo, podría usar un evento de compilación para registrar un archivo con regsvr32.exe una vez que el proyecto termine de compilarse. Para obtener más información, vea Especificar eventos de compilación.
- 1. ¿Cuál es la diferencia entre Comando y evento de WPF?
- 2. Eclipse-CDT: ¿Cuál es la mejor manera de agregar un paso de compilación personalizado?
- 3. ¿Cuál es la diferencia entre un filtro de paso bajo regular y uno adaptativo?
- 4. ¿Cuál es la diferencia entre depuración y compilación?
- 5. Agregando un paso de compilación personalizado con un paquete nuget
- 6. ¿Cuál es la diferencia entre un controlador y un servicio?
- 7. ¿Cuál es la diferencia entre un ayudante y un parcial?
- 8. ¿Cuál es la diferencia entre un algoritmo y un método
- 9. ¿Cuál es la diferencia entre un "nonce" y un "GUID"?
- 10. Cuál es la diferencia entre un subproceso y un controlador
- 11. ¿Cuál es la diferencia entre un JavaBean y un POJO?
- 12. ¿Cuál es la diferencia entre un lenguaje y un marco?
- 13. ¿Cuál es la diferencia entre un predicado y un funcionador?
- 14. ¿Cuál es la diferencia entre un árbol y un directorio?
- 15. ¿Cuál es la diferencia entre un vector y un vértice?
- 16. ¿Cuál es la diferencia entre un método y un selector?
- 17. ¿Cuál es la diferencia entre un nanokernel y un exokernel?
- 18. ¿Cuál es la diferencia entre un HashMap y un TreeMap?
- 19. ¿Cuál es la diferencia entre un REPL y un intérprete?
- 20. ¿Cuál es la diferencia entre un IORef y un MVar?
- 21. ¿Cuál es la diferencia entre un tipo de delegado y un tipo de gestor de eventos?
- 22. ¿Cuál es la diferencia entre el paso de mensajes y la invocación de métodos?
- 23. TeamCity, pasando una ID generada en un paso de compilación a un paso de compilación posterior
- 24. ¿Cuál es la diferencia entre un tema y una plantilla?
- 25. ¿Cuál es la diferencia entre nohup y un daemon?
- 26. ¿Cuál es la diferencia entre @ y @@ en un módulo?
- 27. ¿Cuál es la diferencia entre un hilo y una fibra?
- 28. ¿Cuál es la diferencia entre una matriz y un objeto?
- 29. ¿Cuál es la diferencia entre separar un Fragmento y eliminarlo?
- 30. ¿Cuál es la diferencia entre una mónada y un cierre?
re: ** Un evento de postconstrucción siempre se ejecuta ** >>
Pressacco