[svn] r7253: nemerle/trunk/ncc/hierarchy/CustomAttribute.n

pbludov svnadmin at nemerle.org
Fri Jan 12 04:16:01 CET 2007


Log:
AssemblyVersion revision fix.

Author: pbludov
Date: Fri Jan 12 04:15:59 2007
New Revision: 7253

Modified:
   nemerle/trunk/ncc/hierarchy/CustomAttribute.n

Modified: nemerle/trunk/ncc/hierarchy/CustomAttribute.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/CustomAttribute.n	(original)
+++ nemerle/trunk/ncc/hierarchy/CustomAttribute.n	Fri Jan 12 04:15:59 2007
@@ -505,7 +505,7 @@
         if (tc.Equals (InternalType.AssemblyVersionAttribute_tc))
         {
           // spec for parsing version is quite interesting
-          // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cptools/html/cpgrfassemblygenerationutilityalexe.asp
+          // http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemreflectionassemblyversionattributeclassctortopic.asp
           def ver = NString.Split (take_string (parms), array ['.']);
 
           mutable version_object = null;
@@ -520,12 +520,13 @@
                 | [x1] => SY.Version (x1.ToString ())
                 | [x1, x2] => SY.Version (x1, x2)
                 | [x1, x2, -1] =>
-                  def span = SY.DateTime.Now.Subtract (SY.DateTime (2000, 1, 1));
-                  SY.Version (x1, x2, span.Days, span.Seconds / 2)
+                  def spanBuild = SY.DateTime.Now.Subtract (SY.DateTime (2000, 1, 1));
+                  def spanRevision = SY.DateTime.Now.Subtract (SY.DateTime.Today);
+                  SY.Version (x1, x2, spanBuild.Days, (spanRevision.Ticks / 20000000) :> int)
                 | [x1, x2, x3] => SY.Version (x1, x2, x3)
                 | [x1, x2, x3, -1] =>
-                  def span = SY.DateTime.Now.Subtract (SY.DateTime (2000, 1, 1));
-                  SY.Version (x1, x2, x3, span.Seconds / 2)
+                  def spanRevision = SY.DateTime.Now.Subtract (SY.DateTime.Today);
+                  SY.Version (x1, x2, x3, (spanRevision.Ticks / 20000000) :> int)
                 | [x1, x2, x3, x4] => SY.Version (x1, x2, x3, x4)
                 | _ =>
                   Message.Error (attr.loc, "invalid format of version attribute");



More information about the svn mailing list