using System.IO; using System.Reflection; namespace SharpChat { public static class BuildInfo { private const string NAME = @"SharpChat"; private const string UNKNOWN = @"XXXXXXX"; public static string VersionString { get; } public static string VersionStringShort { get; } public static bool IsDebugBuild { get; } public static string ProgramName { get; } static BuildInfo() { #if DEBUG IsDebugBuild = true; #endif try { using Stream? s = Assembly.GetEntryAssembly()?.GetManifestResourceStream(@"SharpChat.version.txt"); if(s != null) { using StreamReader sr = new(s); VersionString = sr.ReadLine()?.Trim() ?? string.Empty; } else VersionString = string.Empty; VersionStringShort = VersionString.Length > 10 ? VersionString[..10] : VersionString; } catch { VersionStringShort = VersionString = UNKNOWN; } ProgramName = string.Format(@"{0}/{1}", NAME, VersionStringShort); } } }