Как правильно расставлять версии на компоненты?
От: Аноним  
Дата: 08.07.06 07:33
Оценка:
Доброго времени суток.

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

Вот есть у меня некий программный продукт. Этот продукт состоит из 10 dll и 3-х EXE, например. Я хочу выпустить его релиз.
Что есть такое версия данного программного продукта? и что есть такое версия каждого из его модулей? Это одно и тоже или нет? Какова политика расстановки версий в этом случае?

Спасибо.
Как правильно расставлять версии на компоненты?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.07.06 07:53
Оценка: 3 (2)
#Имя: FAQ.app.versions
Здравствуйте, <Аноним>, Вы писали:

А>Вот есть у меня некий программный продукт. Этот продукт состоит из 10 dll и 3-х EXE, например. Я хочу выпустить его релиз.

А>Что есть такое версия данного программного продукта? и что есть такое версия каждого из его модулей? Это одно и тоже или нет? Какова политика расстановки версий в этом случае?

А нет никакой стандартной политики. Все зависит от тебя самого и твоих потребностей.
Для начала — состав версии:
Major Version . Minor Version . Build . Revision
Это то, что предполагается. Но, по моим наблюдениям, ревизия либо вобще не используется, либо используется в качестве Build (версия при этом становится трехкомпонентной). Minor версия меняется, когда обеспечивается backward compatibility без перекомпиляции, Major когда не обеспечивается.
Касательно того, какие версии имеют сборки внутри приложения — если не предполагается отдельное, независимое распространение сборок в бинарном виде в составе других продуктов, то версии всех таких сборок должны быть одинаковыми, чтобы избежать путанницы.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[2]: Как правильно расставлять версии на компоненты?
От: Аноним  
Дата: 08.07.06 09:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Касательно того, какие версии имеют сборки внутри приложения — если не предполагается отдельное, независимое распространение сборок в бинарном виде в составе других продуктов, то версии всех таких сборок должны быть одинаковыми, чтобы избежать путанницы.


А если предполагается?
Re[3]: Как правильно расставлять версии на компоненты?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.07.06 10:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>А если предполагается?


Тогда нужно поддерживать независимую линейку версий для каждой из таких сборок.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[2]: Как правильно расставлять версии на компоненты?
От: Аноним  
Дата: 09.07.06 05:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Касательно того, какие версии имеют сборки внутри приложения — если не предполагается отдельное, независимое распространение сборок в бинарном виде в составе других продуктов, то версии всех таких сборок должны быть одинаковыми, чтобы избежать путанницы.


Как вы считаете, если не планируется распространение сборок в составе ругих продуктов, то следующая ситуация нормальная?
Я выпускаю новую версию, в которой реализованы новые важные фишки. Причем так получилось, что все эти фишки сосредоточны в одной сборке. Т.е. остальные сборки остались без изменений. И я все равно для всех dll и exe меняю версии, даже для тех, которые не изменились.

Спасибо.
Re[2]: Как правильно расставлять версии на компоненты?
От: retalik www.airbandits.com/
Дата: 09.07.06 06:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Это то, что предполагается. Но, по моим наблюдениям, ревизия либо вобще не используется, либо используется в качестве Build (версия при этом становится трехкомпонентной). Minor версия меняется, когда обеспечивается backward compatibility без перекомпиляции, Major когда не обеспечивается.


Т.е., если в проекте есть reference на сборку определенной версии, то сборка с бОльшим значением minor version тоже подойдет?

Еще вопрос: влияют ли номера сборок на механизм Shadow Copy апп-домена? Мы столкнулись со странными (редко воспроизводимыми) сбоями "Cannot shadow/copy <assembly.dll>: the file already exists". Это происходит в ASP.NET 2.0 при обновлении одной из сборок в каталоге RelativeSearchPath. Вот думаю — возможно, сбои были из-за того, что номер версии не меняется?
Успехов,
Виталий.
Re[3]: Как правильно расставлять версии на компоненты?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.07.06 08:56
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Как вы считаете, если не планируется распространение сборок в составе ругих продуктов, то следующая ситуация нормальная?

А>Я выпускаю новую версию, в которой реализованы новые важные фишки. Причем так получилось, что все эти фишки сосредоточны в одной сборке. Т.е. остальные сборки остались без изменений. И я все равно для всех dll и exe меняю версии, даже для тех, которые не изменились.

Вполне нормальна. Собственно, изменение версии сборки по сути и есть изменение сборки.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[3]: Как правильно расставлять версии на компоненты?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 09.07.06 08:56
Оценка:
Здравствуйте, retalik, Вы писали:

R>Т.е., если в проекте есть reference на сборку определенной версии, то сборка с бОльшим значением minor version тоже подойдет?


Что значит пойдет? Все зависит от того — реально ли там есть совместимость и от текущей политики ресолвинга сборок.

R>Еще вопрос: влияют ли номера сборок на механизм Shadow Copy апп-домена?


Вряд ли. Я, по крайней мере, ни разу не сталкивался.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re: Как правильно расставлять версии на компоненты?
От: Аноним  
Дата: 08.07.06 10:06
Оценка:
Полность солидарен с AndrewVK. Ответ можно помещать в FAQ. Добавлю только, что Revision тоже может использоваться, например, при выпуске патчей с исправлением ошибок.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.