Увеличение номера сборки не отражено в AssemblyVersion - PullRequest
1 голос
/ 04 июня 2010

Я пролистал некоторые дискуссии по автоинкрементным числам сборки, но в нетерпении молодежи решил прокатиться самостоятельно и заново изобрести колесо. Я знаю, что, возможно, есть более эффективные способы решения этой проблемы (которые я определенно собираюсь исследовать), но мой вопрос больше сосредоточен на классах Assembly и / или Version.

Мой подход заключался в написании отдельного exe-файла (BuildIncrementer), который принимает параметр командной строки для имени файла, сопоставляет ли регулярное выражение содержимое, чтобы получить строку [assembly: AssemblyVersion...], вносить необходимые изменения (увеличивать номер сборки) и т. д.), затем запишите содержимое обратно в файл. Этот подход работает как есть.

Следующее, что я сделал в проекте, для которого я хотел использовать это, я настроил командную строку перед сборкой, которая является просто командой для выполнения этого BuildIncrementer.exe в файле AssemblyInfo.cs этого проекта. Это тоже работает, обновляя информацию о сборке по желанию.

Проблема возникает, когда я запускаю проект, он отправляет электронное письмо с текущей версией, полученной с помощью Assembly.GetExecutingAssembly().GetName().Version.ToString(). НО, отображаемая версия является предыдущей версией. Когда мой AssemblyInfo.cs сообщает [assembly: AssemblyVersion("1.0.2.49667")], я получаю 1.0.1.45660, который был предыдущей сборкой.

У кого-нибудь есть идеи, почему это может быть?

1 Ответ

0 голосов
/ 04 июня 2010

Я думаю, что ваш exe запускается до того, как весь процесс сборки будет завершен (или запущен), следовательно, отражая старую версию ... возможно

...