установка версии файла автоматически после компиляции - PullRequest
2 голосов
/ 13 января 2010

Существует ли какой-либо инструмент, который может внедрить информацию .exe или .dll, например, Версия файла, Имя продукта, Авторское право и т. Д.?

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

Ответы [ 4 ]

2 голосов
/ 14 января 2010

Я закончил тем, что добавил фиктивную версию ресурса и буду использовать StampVer.

1 голос
/ 13 января 2010

Вы можете создать заголовочный файл, который определит некоторые вещи, например, например. #define MAJOR_VERSION 2 и #define MINOR_VERSION 1 (то же самое с номерами сборок и всем необходимым). Затем #include этот заголовочный файл из вашего .rc файла.

Теперь к автоматизации процесса. Ваш скрипт сборки может выводить этот заголовочный файл, увеличивая различные значения. После успешной сборки файл передается в VCS, а затем может быть использован на следующей итерации. Есть способы сделать это даже с простыми .cmd файлами, используя переменные окружения, однако, если вы можете, используйте что-то более сложное, например perl / python и т. Д. Для этой задачи.

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

1 голос
/ 13 января 2010

Сколько у вас проектов? Я рассчитал это, это занимает 3 секунды в Visual Studio. Щелкните правой кнопкой мыши проект, Добавить, Ресурс, выберите «Версия», Новый.

0 голосов
/ 13 января 2010

Какой exe / dll вы создаете? Существует несколько простых решений для сборок .NET и несколько сложных решений для неуправляемых сборок.

Для сборок: http://www.codeproject.com/KB/dotnet/ManagingAssemblyVersions.aspx

Не совсем после сборки, но вот что мы делаем: Мы создаем включаемый файл для C ++ из командного файла и включаем его в процесс сборки. Включение содержит определение, которое включено в файл ресурсов.

Вы также можете использовать Visual Studio для изменения ресурсов в PE (неуправляемый двоичный файл). От руки вы можете изменить все версии ресурса.

...