VisualStudio: перевод версии сборки на календарную дату - PullRequest
5 голосов
/ 21 октября 2010

Я знаю, что строка версии, сгенерированная Visual Studio, основана на дате / времени запуска сборки. С учетом строки неполной версии "3856.24352", сгенерированной Visual Studio, как я могу перевести ее в тот календарный день, в который происходила эта сборка?

1 Ответ

12 голосов
/ 21 октября 2010

Полная строка версии имеет формат major.minor.build.revision .Часть build - это количество дней с 1 st января 2000 года. Часть revision - это количество секунд с полуночи, деленное на 2 (см. здесь для получения дополнительной информации).

Предполагая, что строки версии имеют тип автоинкремента, и что вы взяли часть build.revision , вы можете повернуть ее обратнона дату, используя:

string buildRevision = "3856.24352";

string[] parts = buildRevision.Split('.');
int build = int.Parse(parts[0]);
int revision = int.Parse(parts[1]);

DateTime dateTimeOfBuild = new DateTime(2000, 1, 1) 
                                + new TimeSpan(build, 0, 0, 0) 
                                + TimeSpan.FromSeconds(revision * 2);

Это даст вам DateTime, представляющий, когда была построена сборка (для вашего примера это 23 rd July, 2010 в 13:31:44). * 1 021 *

...