c++ visual-studio post-build-event regsvr32 uptodate

Visual Studio: ejecuta el evento de postconstrucción del proyecto C++ incluso si el proyecto está actualizado



visual-studio post-build-event (3)

Puede usar la página de propiedades Paso de compilación personalizado para configurar un archivo por lotes para ejecutar. Esto se ejecuta si el Archivo especificado en la configuración de Salidas no se encuentra, o está desactualizado. Simplemente especifique allí algún archivo que no exista, y el paso de creación personalizado siempre se ejecutará. Se ejecutará incluso si su proyecto está actualizado, ya que el archivo de salida nunca se encuentra.

En Visual Studio (2008), ¿es posible forzar el evento Post-Build para que se ejecute un proyecto C ++, incluso si el proyecto está actualizado?

Específicamente, tengo un proyecto que crea una DLL de servidor COM en proceso. El proyecto tiene un paso posterior a la compilación que ejecuta "regsvr32.exe $ (TargetPath)". Esto funciona bien en una "Reconstrucción", pero se ejecuta en "Crear" solo si se han realizado cambios en la fuente del proyecto.

Si realizo una "compilación" sin realizar ningún cambio, Visual Studio simplemente informa que el proyecto está actualizado y no hace nada, el evento post-compilación no se ejecuta. ¿Hay alguna forma en que pueda forzar al Evento a correr en esta situación? Esto es necesario ya que, aunque la DLL está actualizada, la información de registro puede no serlo.


Use esto DisableFastUpToDateCheck

Vea un ejemplo:

<PropertyGroup> <PostBuildEvent>IF EXIST C:/Projects/Copy_Files_To_Instance.ps1 ( powershell -file C:/Projects/Copy_Files_To_Instance.ps1)</PostBuildEvent> <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>


La información de registro está determinada principalmente por lo que está en el archivo .rgs . Si ese archivo cambia, se construirá el proyecto. No estoy seguro de qué otra cosa puede cambiar el registro COM sin ensuciar el proyecto. ¿Le importa proporcionar más detalles sobre su situación particular?