У нас есть номер сборки, который увеличивается на каждую сборку (формальную или нет). Для этого мы используем этикетировщик CruiseControl.NET.
У нас есть номер версии, который увеличивается вручную только в официальных выпусках, и мы определяем его централизованно в одном из сценариев CC.NET, которые хранятся в системе контроля версий.