Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio: Run C++ project Post-Build Event even if project is up-to-date

In Visual Studio (2008) is it possible to force the Post-Build Event for a C++ project to run even if the project is up-to-date?

Specifically, I have a project which builds a COM in-process server DLL. The project has a post-build step which runs "regsvr32.exe $(TargetPath)". This runs fine on a "Rebuild", but runs on a "Build" only if changes have been made to the project's source.

If I do a "Build" without making any changes, Visual Studio simply reports that the project is up-to-date and does nothing - the Post-Build Event is not run. Is there any way that I can force the Event to run in this situation? This is necessary since although the DLL itself is up-to-date, the registration information may not be.

like image 499
user200783 Avatar asked Dec 21 '09 01:12

user200783


2 Answers

You can use the Custom Build Step property page to set up a batch file to run. This runs if the File specified in the Outputs setting is not found, or is out-of-date. Simply specify some non-existent file there, and the custom build step will always run. It will run even if your project is up-to-date, since the Output file is never found.

like image 128
Tarydon Avatar answered Oct 11 '22 10:10

Tarydon


Use this DisableFastUpToDateCheck

See an example:

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

like image 36
diegoapereza Avatar answered Oct 11 '22 09:10

diegoapereza