.Net AssemblyName.version Построение против версии
В документации MSDN указано:
Номера версий состоят из двух-четырех компоненты: основные, второстепенные, встроенные и пересмотр. Основные и второстепенные компоненты требуются; построение и компоненты ревизии являются необязательными, но компонент сборки требуется, если компонент ревизии. Все определенные компоненты должны быть целыми числами больше или равно 0.
Формат номера версии: (отображаются дополнительные компоненты в квадратных скобках ([и]): major.minor [.build [.revision]] компоненты используются по соглашению как следующим образом:
-
Майор: Ассембли с тем же именем но разные основные версии не взаимозаменяемы. Более высокая версия число может указывать на серьезную переписку продукта, в котором совместимость не может быть принята.
-
Незначительный: если имя и майор номер версии на двух сборках то же, но младший номер версии отличается, это указывает значительное улучшение с намерение обратной совместимости. Этот более высокий номер младшей версии может указать точечный выпуск продукта или полностью обратно совместимый новый версии продукта.
-
Сборка: разница в количестве сборки представляет собой перекомпиляцию того же источник. Различные номера построений могут будут использоваться, когда процессор, платформа, или компилятора.
-
Версия: сборки с тем же имя, майор и младшие номера версий но разные версии быть полностью взаимозаменяемым. Высшее номер ревизии может использоваться в построить, что фиксирует дыру в безопасности в ранее выпущенная сборка.
Последующие версии сборки которые отличаются только строкой или ревизией номера считаются исправлениями обновления предыдущей версии.
Мой вопрос касается смысла терминов Build и Revision в этом контексте.
Мне кажется, что в общем случае мы "строим", когда происходят изменения в источнике. Таким образом, "сборка 678" и "сборка 679" различаются именно потому, что источники в некотором роде различны - как правило, в результате проверки некоторых измененных источников. Мне кажется, что определение .NET использует "Редактирование" в том смысле, что обычно используется "сборка".
Кто-нибудь ИСПОЛЬЗУЕТ определение выше в их версии? Если да, то можете ли вы привести конкретные примеры ПОЧЕМУ вы сделали?
Ответы
Ответ 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 не изменяется)
-
Редакция - случайное число, которое представляет