如何设置“发布日期”常量,用于Visual Studio中的项目

本文关键字:用于 常量 Visual Studio 项目 日期 设置 何设置 布日期 发布日期 | 更新日期: 2023-09-27 18:07:16

我想在我的控制台应用程序中添加有关程序最后发布(编译)时间的信息(例如"初始屏幕"或"使用屏幕")。

我可以把这个添加到我的项目吗?

谢谢!

如何设置“发布日期”常量,用于Visual Studio中的项目

试试这个或者找到更好的方法!

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