Определите, был ли DateTime запечен в версии сборки .NET во время компиляции? - PullRequest
0 голосов
/ 14 октября 2011

Откуда мне знать, что добавление значений Build и Revision для данной сборки .NET в new DateTime(2000, 1, 1) даст мне время компиляции?

Другими словами: как мнезнаете, что атрибут [assembly: AssemblyVersion("1.0.*")] использовался для сборки во время компиляции?

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Ты не. AssemblyVersionAttribute просто хранит набор чисел. Эти цифры могут быть:

  • Вручную
  • автоинкрементный
  • На основе даты и времени
  • На основе номеров версий контроля версий

Нет ничего в AssemblyVersionAttribute, чтобы сказать вам это.

0 голосов
/ 03 ноября 2013

Вы можете использовать это:

static string TimestampFromVersion(string version)
{
    string[] versionComponents = version.Split('.');
    DateTime potentialCompilationDate = (new DateTime(2000, 1, 1)).AddDays(versionComponents[2]).AddSeconds(2 * versionComponents[3]);
    return potentialCompilationDate.ToString("dd MMM yyyy, HH:mm:ss");
}

и проверить по метке времени файла ...

...