Во-первых, вы можете указать полную версию следующим образом:
[assembly: AssemblyVersion("1.0.9.10")]
Во-вторых, общий подход, чтобы сделать это немного более простым (и повторяет ваш подход C ++), состоит в том, чтобы иметь один файл Version.cs.(имя неважно), которое находится в общем месте, в котором есть атрибуты версии.Затем вы можете добавить этот файл как ссылку во все ваши проекты cs, не забывая удалить атрибуты версии из ваших файлов AssemblyInfo.cs.Таким образом, у вас есть только один файл для обновления (до запуска вашей сборки).Вы также можете поместить в свой файл Version.cs другие общие атрибуты сборки, такие как: NeutralResourcesLanguage или CLSCompliant.
Если вы не используете один подход "Version.cs", то вы можете рекурсивно работать с исходным кодомструктуры каталогов и обновляйте файлы AssemblyInfo отдельно (перед запуском сборки).
Возможно, это не относится к вам, но номера версий (в AssemblyVersion) имеют максимальный диапазон 16 бит.Я видел, как это стало проблемой, когда даты были использованы для этих чисел.Если вы хотите иметь больше широты, то AssemblyFileVersion не имеет этих ограничений, а предназначена исключительно для информационных целей только в .Net, а не как часть идентификатора сборки.Обычно для AssemblyVersion и AssemblyFileVersion устанавливаются одинаковые значения, поскольку некоторые инструменты отображают их комбинации.
Подробнее о AssemblyVersion и AssemblyFileVersion см. В следующих документах:
В чем различия между AssemblyVersion, AssemblyFileVersion и AssemblyInformationalVersion?