Включить номер редакции Git в проект .NET - PullRequest
2 голосов
/ 06 февраля 2012

Я использую Git для управления исходным кодом в .NET проекте. Есть ли способ включить текущий номер редакции Git в мой EXE во время компиляции?

Я бы хотел иметь номер ревизии, доступный для диалога «О программе» или аналогичного. Возможно, есть способ обновить Settings.vb прямо перед сборкой?

Ответы [ 2 ]

1 голос
/ 13 февраля 2015

Альтернативой ручному управлению Lex Li является использование механизма MSBuildVersioning (также доступен в виде пакета NuGet ). Это требует небольшой настройки в вашем файле csproj (что для вас сделает пакет NuGet), но позволяет указать файл «шаблона», который будет обрабатываться во время сборки, чтобы заполнить любую информацию, которую вы решили включить в шаблоне. Хотя документация, по-видимому, не была обновлена, последняя версия работает для репозиториев Git, Mercurial и Subversion. Доступные специфичные для git теги включают REVNUM (номер редакции), REVID (хеш, который, скорее всего, будет полезен), DIRTY (есть ли незафиксированные изменения), BRANCH (текущая ветвь) и TAGS (любой тег (ы) связан с ревизией).

1 голос
/ 06 февраля 2012

Возможный подход подобен следующему:

1 Программная печать редакции git и проверка на незафиксированные изменения

После этого поста вы узнаете, как запрашивать информацию о редакции израбочая копия.

2 Измените файл проекта VB.NET так, чтобы перед компиляцией он использовал приведенный выше результат запроса, чтобы обновить один из ваших файлов и включить эту информацию в ваш исполняемый файл.

Второй шагнужны некоторые навыки сценариев.Если вы знакомы со сценариями MSBuild, это не должно быть слишком сложно.

Лично я могу написать свое собственное консольное приложение в .NET для выполнения вышеуказанных команд, а затем включить его в событие PreBuild.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...