powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
8 сообщений из 8, страница 1 из 1
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193158
Фотография MaratSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть такая - у нас в солюшенах различных продуктов основной проект для запуска собираемого exe-приложения (сервера или клиента) один и тот же, зашаренный проект. Мы его включаем в любой солюшен, другие проекты солюшенов - расширения бизнес-логики.
Этот проект используется в разных продуктах, его версию сборки в AssemblyInfo.cs нельзя менять.
В этот общий проект нельзя включать ссылки на сборки или исходники определенных продуктов.
Каким образом менять версию сборки собираемого exe файла для какого либо солюшена, не меняя AssemblyInfo.cs этого общего проекта?
Не хотелось бы это делать с помощью каких-то редакторов ресурсов exe-файла и тому подобного.
Может быть какой-то хитрый шаблон (*.tt) можно использовать?
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193250
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratSH, а какова цель?
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193293
Фотография MaratSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAMaratSH, а какова цель?

наверное всего вопрос был глупый :)

цель - для каждого продукта в exe-шнике получать свою версию продукта
exe-шник билдится по общему проекту, а вот версию его надо кастомизировать для каждого солюшена, т.е. поставить под зависимость от настроек билда.

сколько не читал, вроде нет такого места настройки билда и момента в процессе билда с помощью msbuild, чтобы нечто, не входящее в проект, могло подменить "версию сборки" этого проекта.

видимо версию надо подменять уже в изготовленной сборке, в exe-шенике, например пост-билдовым событием другого проекта в солюшене

ну и в различных средствах изготовления инсталляций вроде бы есть такие возможности.
буду копать в направлении средств изготовления инсталляторов.
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193299
Фотография MaratSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAMaratSH, а какова цель?

да, забыл объяснить почему такая цель :))
заказчик требует чтобы основные запускающие файлы продуктов содержали версии продуктов.
отображать версии в интерфейсах продуктов, помечать другие файлы сборок продуктов - хоть сколько пожалуйста.
но архитектура всех наших решений такова, что запускающий модуль всегда один, редко изменяется, а заказчику хочется чтобы именно этот файл был помечен правильным названием и версией продукта, хотя бы версией.
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193980
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Организовать скрипт сборки и публикации проекта соответствующим образом. Например:

1. Экспорт исходников из версионника в рабочую папку.
2. Преобразование исходников в рабочей папке - установка нужных версий в нужных местах и т. п.
3. Компиляция проекта в рабочей папке.
4. Копирование скомпилированных модулей и прочих необходимых файлов из рабочей папки в целевую папку, в которой планируется разместить релиз проекта.
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193981
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5. Передача скомпилированного релиза из целевой папки заказчику.
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39193998
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaratSH,

так как подход кривой: менять номер версии у одного и того же набора файлов без изменений, то вот и кривое решение:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#if PRODUCT_1
  [assembly: AssemblyVersion("1.0.0.0")]
  [assembly: AssemblyFileVersion("1.0.0.0")]
#elif PRODUCT_2
  [assembly: AssemblyVersion("2.0.0.0")]
  [assembly: AssemblyFileVersion("2.0.0.0")]

...

#endif



При сборке каждого проекта задавайте необходимые символы, вот так:

Код: c#
1.
/p:DefineConstants="PRODUCT_1"
...
Рейтинг: 0 / 0
Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
    #39197651
Фотография MaratSH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttMaratSH,
Код: c#
1.
2.
3.
4.
5.
6.
7.
#if PRODUCT_1
  [assembly: AssemblyVersion("1.0.0.0")]
  [assembly: AssemblyFileVersion("1.0.0.0")]
#elif PRODUCT_2
  [assembly: AssemblyVersion("2.0.0.0")]
  [assembly: AssemblyFileVersion("2.0.0.0")]
#endif



Код: c#
1.
/p:DefineConstants="PRODUCT_1"



Спасибо за идею.
Пока все криво, такого вида перечень продуктов в общем проекте вполне сойдет
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как в солюшене задавать версию сборки не изменяя проект,который генерит сборку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]