Подтвердить что ты не робот

.Net AssemblyName.version Построение против версии

В документации MSDN указано:

Номера версий состоят из двух-четырех компоненты: основные, второстепенные, встроенные и пересмотр. Основные и второстепенные компоненты требуются; построение и компоненты ревизии являются необязательными, но компонент сборки требуется, если компонент ревизии. Все определенные компоненты должны быть целыми числами больше или равно 0.

Формат номера версии: (отображаются дополнительные компоненты в квадратных скобках ([и]): major.minor [.build [.revision]] компоненты используются по соглашению как следующим образом:

  • Майор: Ассембли с тем же именем но разные основные версии не взаимозаменяемы. Более высокая версия число может указывать на серьезную переписку продукта, в котором совместимость не может быть принята.

  • Незначительный: если имя и майор номер версии на двух сборках то же, но младший номер версии отличается, это указывает значительное улучшение с намерение обратной совместимости. Этот более высокий номер младшей версии может указать точечный выпуск продукта или полностью обратно совместимый новый версии продукта.

  • Сборка: разница в количестве сборки представляет собой перекомпиляцию того же источник. Различные номера построений могут будут использоваться, когда процессор, платформа, или компилятора.

  • Версия: сборки с тем же имя, майор и младшие номера версий но разные версии быть полностью взаимозаменяемым. Высшее номер ревизии может использоваться в построить, что фиксирует дыру в безопасности в ранее выпущенная сборка.

Последующие версии сборки которые отличаются только строкой или ревизией номера считаются исправлениями обновления предыдущей версии.

Мой вопрос касается смысла терминов Build и Revision в этом контексте.

Мне кажется, что в общем случае мы "строим", когда происходят изменения в источнике. Таким образом, "сборка 678" и "сборка 679" различаются именно потому, что источники в некотором роде различны - как правило, в результате проверки некоторых измененных источников. Мне кажется, что определение .NET использует "Редактирование" в том смысле, что обычно используется "сборка".

Кто-нибудь ИСПОЛЬЗУЕТ определение выше в их версии? Если да, то можете ли вы привести конкретные примеры ПОЧЕМУ вы сделали?

4b9b3361

Ответ 1

Последующие версии сборки, которые отличаются только строками или версиями, считаются обновлениями исправлений предыдущей версии.

В этом разделе объясняется различие. Редакция используется, когда ваш продукт отправлен, и вам нужно исправить загруженную версию, пока вы уже продвигаетесь с обновлениями.

Например, отправляется 1.1.10.0. Я делаю небольшие изменения в функциональности, и я в 1.1.20.0, когда получаю предупреждение о безопасности, которое нуждается в исправлении. Я не могу увеличивать 1.1.10.0 до 1.1.11.0, поскольку это что-то еще. Поэтому я использую 1.1.10.1, чтобы определить, что это ревизия кода 1.1.10.0.

Надеюсь, что это немного яснее грязи. Также помните размер компании и размер программных проектов, которые они поставляют, которые придумали эти определения.

Ответ 2

Я полностью согласен с вами. Данные описания не имеют большого смысла, если вы не интерпретируете их с щепоткой соли. Для меня последний номер версии должен означать сборку, т.е. Число, которое обновляется на каждой компиляции. Другие цифры представляют собой различные степени изменения программного обеспечения /API.

На практике, как правило, используются номера версий. (Конечно, как я их использую.)

  • Major - увеличивается, когда набор функций /API программного обеспечения значительно изменяется

  • Малый - увеличивается при внесении заметных изменений, незначительных изменений API или добавлении новых функций

  • Build - увеличивается при внесении незначительных изменений, обычно исправляются ошибки и улучшения (хотя API не изменяется)

  • Редакция - случайное число, которое представляет