Я знаю стандарт Major.Minor.Build.Revision, но есть несколько соображений, которые для нас несколько уникальны
-Мы делаем внутренние выпуски почти ежедневно, иногда чаще, чем один раз в день.
- Установщик Windows не проверяет версию , так что это почти спорный вопрос для наших целей.
- Основные и второстепенные номера в идеале обновляются только для публичных выпусков и должны выполняться вручную.
- Это оставляет Build #, который должен быть автоматически обновлен.
- Мы хотим, чтобы внутренние выпуски можно было выполнять с любого компьютера разработчика, чтобы исключить использование xx * в Visual Studio, поскольку на разных компьютерах могут генерироваться разные числа, и каждая сборка не обязательно будет больше, чем предыдущая ,
- У нас около 15 или около того проектов в составе продукта, поэтому сохранение номеров версий в SVN не является идеальным, так как в каждом выпуске мы будем фиксировать все эти файлы.
Учитывая эти критерии, я не могу придумать хорошую схему управления версиями. Последние 2 критерия могут быть отброшены, но удовлетворение всех этих требований кажется идеальным. Штамп с датой недостаточен, потому что мы можем делать больше одного в день, и учитывая максимальный размер Uint16 (около 64000) (на самом деле, используя WiX, он жалуется на числа выше Int16.MaxValue), дата / время не подходят.