Отображение даты сборки - PullRequest
       65

Отображение даты сборки

240 голосов
/ 21 октября 2009

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

Вместо этого планируется указать дату сборки - например, «Приложение построено 21/10/2009».

Я изо всех сил пытаюсь найти программный способ извлечения даты сборки в виде текстовой строки для такого использования.

Для номера сборки я использовал:

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

после определения, как они возникли.

Я бы хотел что-то подобное для даты компиляции (и времени, для бонусных баллов).

Здесь очень ценятся указатели (извините за каламбур, если необходимо) или более аккуратные решения ...

Ответы [ 23 ]

1 голос
/ 21 октября 2009

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

На вкладке свойств проектов посмотрите вкладку событий сборки. Существует возможность выполнить команду до или после сборки.

1 голос
/ 24 декабря 2017

Я использовал предложение Абдуррахима. Однако, это, казалось, дало странный формат времени и также добавило сокращение для дня как часть даты сборки; пример: вс 12/24/2017 13: 21: 05.43. Мне нужна была только дата, поэтому мне пришлось удалить все остальное, используя подстроку.

После добавления echo %date% %time% > "$(ProjectDir)\Resources\BuildDate.txt" к событию перед сборкой я просто сделал следующее:

string strBuildDate = YourNamespace.Properties.Resources.BuildDate;
string strTrimBuildDate = strBuildDate.Substring(4).Remove(10);

Хорошая новость в том, что это сработало.

0 голосов
/ 19 января 2015

Если это приложение для Windows, вы можете просто использовать путь к исполняемому файлу приложения: новый System.IO.FileInfo (Application.ExecutablePath) .LastWriteTime.ToString ("yyyy.MM.dd")

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