Подскажите пожалуйста ссылки на какие-либо документы или поделитесь опытом в следующем вопросе.
Вот есть у меня некий программный продукт. Этот продукт состоит из 10 dll и 3-х EXE, например. Я хочу выпустить его релиз.
Что есть такое версия данного программного продукта? и что есть такое версия каждого из его модулей? Это одно и тоже или нет? Какова политика расстановки версий в этом случае?
Здравствуйте, <Аноним>, Вы писали:
А>Вот есть у меня некий программный продукт. Этот продукт состоит из 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>>
Re[2]: Как правильно расставлять версии на компоненты?
От:
Аноним
Дата:
08.07.06 09:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Касательно того, какие версии имеют сборки внутри приложения — если не предполагается отдельное, независимое распространение сборок в бинарном виде в составе других продуктов, то версии всех таких сборок должны быть одинаковыми, чтобы избежать путанницы.
А если предполагается?
Re[3]: Как правильно расставлять версии на компоненты?
Re[2]: Как правильно расставлять версии на компоненты?
От:
Аноним
Дата:
09.07.06 05:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Касательно того, какие версии имеют сборки внутри приложения — если не предполагается отдельное, независимое распространение сборок в бинарном виде в составе других продуктов, то версии всех таких сборок должны быть одинаковыми, чтобы избежать путанницы.
Как вы считаете, если не планируется распространение сборок в составе ругих продуктов, то следующая ситуация нормальная?
Я выпускаю новую версию, в которой реализованы новые важные фишки. Причем так получилось, что все эти фишки сосредоточны в одной сборке. Т.е. остальные сборки остались без изменений. И я все равно для всех dll и exe меняю версии, даже для тех, которые не изменились.
Спасибо.
Re[2]: Как правильно расставлять версии на компоненты?
Здравствуйте, 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]: Как правильно расставлять версии на компоненты?
Здравствуйте, <Аноним>, Вы писали:
А>Как вы считаете, если не планируется распространение сборок в составе ругих продуктов, то следующая ситуация нормальная? А>Я выпускаю новую версию, в которой реализованы новые важные фишки. Причем так получилось, что все эти фишки сосредоточны в одной сборке. Т.е. остальные сборки остались без изменений. И я все равно для всех dll и exe меняю версии, даже для тех, которые не изменились.
Вполне нормальна. Собственно, изменение версии сборки по сути и есть изменение сборки.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Здравствуйте, retalik, Вы писали:
R>Т.е., если в проекте есть reference на сборку определенной версии, то сборка с бОльшим значением minor version тоже подойдет?
Что значит пойдет? Все зависит от того — реально ли там есть совместимость и от текущей политики ресолвинга сборок.
R>Еще вопрос: влияют ли номера сборок на механизм Shadow Copy апп-домена?
Вряд ли. Я, по крайней мере, ни разу не сталкивался.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
Re: Как правильно расставлять версии на компоненты?
От:
Аноним
Дата:
08.07.06 10:06
Оценка:
Полность солидарен с AndrewVK. Ответ можно помещать в FAQ. Добавлю только, что Revision тоже может использоваться, например, при выпуске патчей с исправлением ошибок.