Вы задаете интересный вопрос.
Это действительно политическое решение, которое вам нужно принять, чтобы решить, какой будет ваша стратегия развертывания и управления версиями, и учесть компромиссы различных факторов (некоторые из которых вы уже отметили, например, путаницу клиентов). *
Одна из вещей, которую вы можете сделать, - это разделить выпуск и управление версиями ваших отдельных уровней, что позволит вам иметь согласованное управление версиями в рамках уровня с уменьшенными накладными расходами на развертывание исправлений. Вам также нужно было бы выделить отдельные сборки в отдельный пакет и версию, которые тоже независимо.
Это может быть излишним, поэтому альтернативой было бы сделать вашу версию проще для понимания. Например, вы можете зарезервировать часть своего номера версии, чтобы указать исправления. Например, если 1.4.5.0 является официальным выпуском, исправление будет 1.4.5.1, и это легко понять как часть официального выпуска 1.4.5.
Вы также можете использовать другие версии сборки, например AssemblyInformationalVersion
, для хранения информации о версии для своих пользователей. (Ознакомьтесь с в моем блоге для получения более подробной информации о AssemblyInformationalVersion
и управлении версиями в .NET.)