たとえば、1 つのデモ サーバーを共有する 2 つのチームがあるとします。彼らは 1 日に数回公開します。いつ (日付と時刻)、誰によって (メンバー名) が最後に公開されたかを知るにはどうすればよいですか? パブリッシュ通知を取得するための Visual Studio オプションまたは TFS 設定がある可能性がありますか?
質問する
674 次
1 に答える
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);
}
}
于 2012-08-24T09:23:19.037 に答える