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

Обновление номера версии всех сборок в решении

У меня довольно большое решение в Visual Studio. Есть ли способ обновить номера версии Major/Minor для всех сборок в решении за один раз?

4b9b3361

Ответ 1

Вы можете совместно использовать файл AssemblyInfo.cs между всеми проектами в решении. Этот общий файл должен содержать номера версий. Чтобы поделиться им, вы должны использовать Добавить существующий файл в VS и выбрать Добавить как ссылку в диалоговом окне файла. Каждый проект имеет свою частную и общую AssemblyInfo.cs. Частный по-прежнему содержит атрибуты, отличные от версии.

У меня есть настройка TeamCity, где я создаю общий файл в каждой сборке TeamCity, используя фактическую версию сборки, и она прекрасно работает.

Ответ 2

У нас есть один AssemblyInfoCommon.cs, который имеет номера версий и включен в каждый проект по ссылке. Остальные файлы AssemblyInfo.cs остаются, но содержат только специфическую для сборки информацию (название и описание). Таким образом, у нас есть только один файл для обновления для каждого проекта С#.

Ответ 3

Вы также можете иметь строгу открытого const в одном из ваших классов, который представляет номер сборки и использовать ее во всех ваших AssemblyInfo.cs для разных проектов. Конечно, это должно быть в проекте, на который ссылаются все другие проекты, чтобы работать.

Это хороший вариант, если вам не нравится идея ссылаться на тот же AssemblyInfo.cs во всех ваших проектах.

Изменить: Примечание! Это также работает, когда вы используете несколько языков (F # и С# в моем случае).

Ответ 4

Поиск/замена?

Номера версий сохраняются в текстовых файлах после (AssemblyInfo.cs в папке "Свойства" для каждого проекта).

Ответ 5

Существует очень полезная утилита, которую я использовал некоторое время назад для проекта, требующего высоко управляемого управления версиями:

http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx

Ответ 6

Также вы можете создать некоторую "основную" сборку и добавить в каждую ссылку на сборку "ядро". "Ядро" будет постоянным. В этом случае в каждом файле информации сборки будет установлена ​​версия сборки из константы "core". Например:

"ядро" имеет файл Ver.cs с константой: public const string Значение = "0.0.0.99";

в каждой сборке сборки будет: [сборка: AssemblyFileVersion (Ver.Value)]