首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C/S 客戶端幫助菜單顯示版本號:FileVersionInfo 實戰

     編輯:程式設計綜合問答

需求

在 WinForms/WPF 菜單「幫助 → 關於」中顯示程序集版本號,自動同步編譯版本。

核心代碼

using System.Diagnostics;
using System.Reflection;
using System.Windows.Forms;

public void ShowAbout() {
    // 方式一:FileVersionInfo(推薦,包含文件版本、產品版本、公司等元數據)
    var fvi = FileVersionInfo.GetVersionInfo(Application.ExecutablePath);
    string version = fvi.FileVersion; // 如 "1.2.3.4"
    string product = fvi.ProductName;
    string copyright = fvi.LegalCopyright;

    // 方式二:Assembly(僅程序集版本)
    // var asm = Assembly.GetExecutingAssembly();
    // var name = asm.GetName().Version.ToString();

    MessageBox.Show($"{product} v{version}\n{copyright}", "關於", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

版本號自動遞增配置

在 AssemblyInfo.cs 中:

[assembly: AssemblyVersion("1.0.*")] 
// 自動生成:主版本.次版本.構建號(從2000/1/1起天數).修訂號(從午夜起秒數/2)

或使用 MSBuild 任務 / GitVersion 根據語義化版本規範自動賦值。

WPF 專屬寫法

var fvi = FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
lblVersion.Content = $"Version {fvi.FileVersion}";

最佳實踐

  • 顯示 FileVersion 而非 AssemblyVersion,前者可獨立於強命名版本更新。
  • 在安裝包、自動更新清單中同步使用該版本號,保證一致性。
  • 「關於」對話框建議獨立窗體,包含 Logo、版權、授權協議鏈接、系統信息導出按鈕。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved