确定DateTime是否在编译时被烘焙到.NET程序集的版本中?

时间:2011-10-14 15:04:42

标签: .net datetime assemblies version compile-time

我怎么知道将给定.NET程序集的构建和修订值添加到new DateTime(2000, 1, 1)会给我编译时间吗?

换句话说:我如何知道编译时[assembly: AssemblyVersion("1.0.*")]属性用于程序集?

2 个答案:

答案 0 :(得分:1)

你没有。 AssemblyVersionAttribute只存储了一堆数字。这些数字可能是:

  • 手动分配
  • 自动递增
  • 基于日期和时间
  • 基于源代码管理修订号

AssemblyVersionAttribute中没有任何内容可以告诉你这一点。

答案 1 :(得分:0)

你可以用这个:

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");
}

并检查文件的时间戳......