Как получить сборочную версию проекта в проекте развертывания visual studio 2008 - PullRequest
4 голосов
/ 06 января 2010

У меня есть проект развертывания в Visual Studio 2008, который устанавливает несколько проектов C #. Помимо прочего, я бы хотел записать версию сборки проектов в реестр.

Есть ли способ автоматически выяснить, какая версия сборки проектов (написана в AssemblyInfo.cs), и записать это как значение свойства реестра?

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

Спасибо.

РЕДАКТИРОВАТЬ : Я не уверен, что я был полностью ясен в моем вопросе. Я не хочу получить этот номер и сохранить его в строку. Я хочу записать его в реестр с помощью редактора реестра проектов развертывания (если вы не уверены, что это официальное название, вы можете получить его, щелкнув правой кнопкой мыши проект развертывания в обозревателе решений и перейдя в меню «Просмотр» -> «Реестр»)

1 Ответ

6 голосов
/ 06 января 2010

Это должно работать:

 Assembly.GetExecutingAssembly().GetName().Version.ToString();

Убедитесь, что это вызывается из каждой основной сборки Projects.

Метод GetName возвращает объект AssemblyName, который также содержит другую полезную информацию.

Edit:

Вы можете сделать сборки саморегистрацией, что требует их запуска один раз для обновления реестра.

Если это неприемлемо, можете написать плагин для настройки (и / или запустить отдельную программу). И из этого кода вам нужно получить имя устанавливаемой сборки.

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