Visual-Studio-2008 VersionInfo для всех файлов, обновленных из одного места

StackOverflow https://stackoverflow.com/questions/2737958

Вопрос

Информация о версии, отображаемая, когда курсор мыши зависает через файл в Windows Explorer, установлен для файла, созданного Visual Studio в ресурсе версии. Я хотел бы установить версию в одном месте для всех файлов, созданных решением, предпочтительно, когда я меняю версию в свойства установки. Есть ли способ сделать это?

Мотивация для этого в том, что если версия не обновляется для файла, то установщик оставит предыдущие версии файлов вместо того, чтобы заменять их новые файлы. Это происходит, даже когда собственность «RewsPreversionVersions» устанавливается. Чтобы сохранить утомительную и ошибку, склонную к обновлению версии в каждом файле, созданном и установленном, я удаляю ресурс версии из всех файлов - что не элегантно.

Это было полезно?

Решение

Второй ответ в стеке переполняет тему Как программически изменить версию продукта проекта? Особенности решения для установки номера версии из общего файла заголовка в C ++. Просто поместите файл заголовка, содержащий жесткие номера версий в папке, где каждый проект может найти его.

Вышеуказанный ответ также описывает средство увеличения номера версии. Альтернативный подход для увеличения версии C ++ доступен в статье Microsoft Как увеличить информацию о версии после каждой сборки в Visual C ++.

Альтернативно, вы можете использовать номер редакции репозитория управления исходным управлением как часть номера версии. Статья переполнения стека Создание файла с номером сборки и именем ветви в SVN Дает некоторое представление о том, что для пользователей TortoiseSVN. Следующие две статьи исследовать это более глубоко:

Автоматически интегрируя пересмотр в версию Subversion в версию с помощью .NET (C # или VB)

Интеграция пересмотра Subversion в версию автоматически нативный C / C ++

(Вышеуказанные две веб-страницы включают ссылки на аналогичные процедуры для пользователей TortoiseHG)

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

  1. Увеличивать номер версии в текстовом файле (необязательно включение номера ревизии репозитория)
  2. Запишите или измените общие файлы версии для:
    • C ++ (версия .h)
    • C # (globalassemblyinfo.cs)
    • Java (в пути файла свойств Ant, например, версия.
    • и т.п.

Другие советы

Чтобы централизовать версию для решения:

  1. Возьмите информацию о версии из AssocialInfo.cs;
  2. Создайте новый файл (GlobalassemblyInfo.cs) и поместите информацию о вашей версии (используя *, чтобы получить VS, чтобы создать новый номер версии для каждой сборки);
  3. Ссылка GlobalassemblyInfo.cs в качестве ссылки: Добавить | Существующий пункт, затем выпадайте вниз кнопку «Добавить» в выборе файла, чтобы выбрать добавление в качестве ссылки вместо этого;
  4. Повторить для каждого проекта в растворе;

Я использую такой блок для версии:

#if debug.

Сборка: Assockerversion («1.8.0,0»)

#еще

Сборка: Assockerversion («1.8. *»)

#endif.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top