2010-10-20 4 views
5

So che la stringa di versione generata da Visual Studio è basata sulla data/ora di esecuzione della generazione. Data la stringa di versione parziale "3856.24352" generata da Visual Studio, come posso tradurla nel giorno di calendario in cui è stata eseguita la compilazione?VisualStudio: traduzione di una versione di build in una data di calendario

+0

L'attuale versione .NET 4.0 è v4.0.30319. Ha senso, se conosci la chiave segreta. –

risposta

12

La stringa di versione completa è nel formato major.minor.build.revision. La parte è il numero di giorni dal 1 st gennaio 2000. La parte revisione è il numero di secondi dalla mezzanotte diviso per 2 (vedere here per ulteriori informazioni).

Supponendo che le stringhe di versione sono il tipo di incremento automatico, e di aver preso parte build.revision, è possibile attivare nuovamente dentro la data utilizzando:

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

Questo vi darà un DateTime che rappresenta quando è stata prodotta la build (che per il tuo esempio è 23 rd luglio 2010 alle 13:31:44).