All that below will describe only about differences for vsCommandEvent if an exists. Please use first:
Yes, it's also possible for vsCommandEvent, it means - why not…
The vsCommandEvent may work with commands from VS, so you can catch command when started the Build or Rebuild, Clean etc. for all solution as for all projects at once or similar…1
Moreover, you can handle of versioning for most operations of Visual Studio. Simply try as you need.
In general you should configure commands, and use this (for example) the documentation - Automatic Version Numbering
And also here you will see commands for Build, Rebuild, Clean operations for solution.