This question already has answers here:
Getting the date of a .NET assembly [duplicate]
(7个答案)
3年前关闭。
我需要以某种方式将编译日期硬编码在代码中。
我该怎么做?
谢谢
也许这有帮助吗?
干杯,
基督教
(7个答案)
3年前关闭。
我需要以某种方式将编译日期硬编码在代码中。
我该怎么做?
谢谢
最佳答案
在我的大多数项目中,我都使用函数“RetrieveLinkerTimestamp”。
public DateTime RetrieveLinkerTimestamp(string filePath)
{
const int PeHeaderOffset = 60;
const int LinkerTimestampOffset = 8;
byte[] b = new byte[2048];
Stream s = Stream.Null;
try
{
s = new FileStream(filePath, FileMode.Open, FileAccess.Read);
s.Read(b, 0, 2048);
}
finally
{
if ((s != null)) s.Close();
}
int i = BitConverter.ToInt32(b, PeHeaderOffset);
int SecondsSince1970 = BitConverter.ToInt32(b, i + LinkerTimestampOffset);
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0);
dt = dt.AddSeconds(SecondsSince1970);
dt = dt.AddHours(TimeZone.CurrentTimeZone.GetUtcOffset(dt).Hours);
return dt;
}
也许这有帮助吗?
干杯,
基督教
关于c# - 将编译日期添加到代码中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2234969/
10-13 07:32