У меня довольно большое решение в Visual Studio. Есть ли способ обновить номера версии Major/Minor для всех сборок в решении за один раз?
Обновление номера версии всех сборок в решении
Ответ 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)]