2012-08-23 79 views
2

例如,我們有兩個團隊共享一臺演示服務器。他們每天發佈數次。我如何知道最後一次發佈的時間(日期和時間)以及由誰(會員名稱)?可能是有一些Visual Studio選項或TFS設置來獲取發佈notofications?如何知道最後一次發佈是由誰發佈的?

回答

1

您可以使用下面的代碼來獲取構建時間戳。

/// <summary> 
    /// Read the linker timestamp from an executable. 
    /// </summary> 
    private DateTime RetrieveLinkerTimestamp(String strFileName) 
    { 
     try 
     { 
      //Open file 
      string filePath = strFileName; 
      const int c_PeHeaderOffset = 60; 
      const int c_LinkerTimestampOffset = 8; 
      byte[] b = new byte[2048]; 
      System.IO.Stream s = null; 

      try 
      { 
       s = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read); 
       s.Read(b, 0, 2048); 
      } 
      finally 
      { 
       if (s != null) 
       { 
        s.Close(); 
       } 
      } 

      //Get timestamp 
      int i = System.BitConverter.ToInt32(b, c_PeHeaderOffset); 
      int secondsSince1970 = System.BitConverter.ToInt32(b, i + c_LinkerTimestampOffset); 

      //Convert to date/time 
      DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0); 
      dt = dt.AddSeconds(secondsSince1970); 
      dt = dt.AddHours(TimeZone.CurrentTimeZone.GetUtcOffset(dt).Hours); 
      return dt; 
     } 
     catch (Exception ex) 
     { 
      throw new Exception("Error in RetrieveLinkerTimestamp", ex); 
     } 
    } 
+0

你是指什麼文件? – Kate

+0

.Exe或.Dll文件 – CodingBarfield

+0

如果我可以打開發布目錄,我將只檢查dll的日期。但我沒有辦法發佈目錄。所以我需要一些選項或工具來通過TFS獲取有關最新版本的信息。 – Kate