如何设置“发布日期”常量,用于Visual Studio中的项目
本文关键字:用于 常量 Visual Studio 项目 日期 设置 何设置 布日期 发布日期 | 更新日期: 2023-09-27 18:07:16
我想在我的控制台应用程序中添加有关程序最后发布(编译)时间的信息(例如"初始屏幕"或"使用屏幕")。
我可以把这个添加到我的项目吗?
谢谢!
试试这个或者找到更好的方法!
DateTime buildDate =
new FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
使用它,例如
Console.WriteLine(buildDate.ToString("dddd, dd MMMM yyyy HH:mm:ss"));
应该以Tuesday, 30 August 2011 09:44:07
编辑:显然依赖于文件系统,但我发现这个页面
转换成c#
private DateTime RetrieveLinkerTimestamp()
{
string filePath = System.Reflection.Assembly.GetCallingAssembly().Location;
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();
}
}
int i = System.BitConverter.ToInt32(b, c_PeHeaderOffset);
int secondsSince1970 = System.BitConverter.ToInt32(b, i + c_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;
}
感谢Jeff Atwood
所以你应该可以像这样使用
Console.WriteLine(RetrieveLinkerTimestamp().ToString("dddd, dd MMMM yyyy HH:mm:ss"));