it always annoyed me that there's no built-in mechanism for automatic build versioning in visual studio, so here's my little "build number incrementor". usage:
buildno++.exe <filename>
i have it set up to run as a pre-build event in vs. a text file (called buildno.debug in the screenshot) contains a single #define:
#define BUILDNO 0
and every time the buildno++.exe runs it increments that number in the file, whatever it happens to be.
you then #include that file and can use the BUILDNO macro to access the updated, current build number in your code. this is how i use it:
#ifdef DEBUG
#include "buildno.debug"
#define BUILD "debug build " STR(BUILDNO)
#else
#include "buildno.release"
#define BUILD "build " STR(BUILDNO)
#endif
note: the original filename is actually buildno++.exe but the ++ part seems to have been stripped by discord. so rename accordingly.