Version GetAssemblyVersion()
{
var version = GetAssemblyAttributeValue("System.Reflection.AssemblyVersionAttribute");
if (version == null)
return new Version();
/* 1.0.* -- BUILD -- based on days since January 1, 2000
* 1.0.0.* -- REVISION -- based on seconds since midnight, January 1, 2000, divided by 2 *
*/
string[] sliced = version.Split('.');
if (sliced.Length > 2)
{
var baseTime = new DateTime(2000, 1, 1);
var mark = DateTime.Now - baseTime;
if (sliced[2].StartsWith("*"))
sliced[2] = Math.Round(mark.TotalDays).ToString();
if (sliced.Length > 3)
if (sliced[3].StartsWith("*"))
sliced[3] = Math.Round(mark.TotalSeconds).ToString();
version = string.Join(".", sliced);
}
return new Version(version);
}