csharp DLL构建时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp DLL构建时间相关的知识,希望对你有一定的参考价值。

public static DateTime GetLinkerTime(this Assembly assembly, TimeZoneInfo target = null)
{
    var filePath = assembly.Location;
    const int c_PeHeaderOffset = 60;
    const int c_LinkerTimestampOffset = 8;

    var buffer = new byte[2048];

    using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
        stream.Read(buffer, 0, 2048);

    var offset = BitConverter.ToInt32(buffer, c_PeHeaderOffset);
    var secondsSince1970 = BitConverter.ToInt32(buffer, offset + c_LinkerTimestampOffset);
    var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

    var linkTimeUtc = epoch.AddSeconds(secondsSince1970);

    var tz = target ?? TimeZoneInfo.Local;
    var localTime = TimeZoneInfo.ConvertTimeFromUtc(linkTimeUtc, tz);

    return localTime;
}

以上是关于csharp DLL构建时间的主要内容,如果未能解决你的问题,请参考以下文章

缺失Assembly-CSharp.dll怎么办!

csharp DLL版本信息

csharp 在Unity中使用SharpNav.dll

C# WPF 在构建时创建了太多的文化文件夹

csharp autofac webapi配置,在dll加载时预处理。

找不到编译动态表达式所需的一种或多种类型。您是不是缺少对 Microsoft.CSharp.dll 和 System.Core.dll 的引用?