2
0
Files

43 lines
1.3 KiB
C#
Raw Permalink Normal View History

2023-07-03 01:51:09 +08:00
using System.Diagnostics;
2022-05-23 00:58:58 +08:00
2023-07-03 01:51:09 +08:00
namespace CMM.Library.Method;
public static class AssemblyData
2022-05-23 00:58:58 +08:00
{
2023-07-03 01:51:09 +08:00
/// <summary>
/// 當下Assembly名稱
/// </summary>
public static string AssemblyName => System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
2022-05-23 00:58:58 +08:00
2023-07-03 01:51:09 +08:00
public static string AppName => AppDomain.CurrentDomain.FriendlyName;
2022-05-23 00:58:58 +08:00
2023-07-03 01:51:09 +08:00
/// <summary>
/// 程式根目錄,無視工作目錄
/// </summary>
public static string Path => AppDomain.CurrentDomain.BaseDirectory;
/// <summary>
/// 版本
/// </summary>
public static string AssemblyVersion => GetAssemblyVersion();
public static string AppVersion => GetFileVersion(Process.GetCurrentProcess().MainModule.FileName);
/// <summary>
/// CCM 輸出
/// </summary>
public static string smonitors => System.IO.Path.Combine(Path, "smonitors.tmp");
2022-05-23 00:58:58 +08:00
2023-07-03 01:51:09 +08:00
static string GetAssemblyVersion()
{
var fi = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.Replace(@"file:///", "");
return GetFileVersion(fi);
}
2022-05-23 00:58:58 +08:00
2023-07-03 01:51:09 +08:00
public static string GetFileVersion(string filePath)
{
var fvi = FileVersionInfo.GetVersionInfo(filePath);
return $"{fvi.FileMajorPart}." +
$"{fvi.FileMinorPart}." +
$"{fvi.FileBuildPart}." +
$"{fvi.FilePrivatePart}";
2022-05-23 00:58:58 +08:00
}
}