You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows应用版本管理:变量位置、递增保障及格式正确性问询

问题解答

1. 变量appVersion的定义位置

这个变量可以定义在任何需要使用版本号的代码位置,只要当前上下文能访问Windows.ApplicationModel.Package.Current(仅支持UWP、WinUI 3等基于Windows应用模型的项目):

  • 比如放在页面构造函数中,初始化界面时显示版本号:
public MainPage()
{
    this.InitializeComponent();
    string appVersion = string.Format("Version: {0}.{1}.{2}.{3}",
                    Windows.ApplicationModel.Package.Current.Id.Version.Major,
                    Windows.ApplicationModel.Package.Current.Id.Version.Minor,
                    Windows.ApplicationModel.Package.Current.Id.Version.Build,
                    Windows.ApplicationModel.Package.Current.Id.Version.Revision);
    VersionTextBlock.Text = appVersion;
}
  • 也可以定义为类的静态字段/属性,方便全局调用:
public static class AppInfo
{
    public static string AppVersion => string.Format("Version: {0}.{1}.{2}.{3}",
                    Windows.ApplicationModel.Package.Current.Id.Version.Major,
                    Windows.ApplicationModel.Package.Current.Id.Version.Minor,
                    Windows.ApplicationModel.Package.Current.Id.Version.Build,
                    Windows.ApplicationModel.Package.Current.Id.Version.Revision);
}

2. 确保发布时版本号自动递增

有两种常用实现方式:

手动配置(简单直接)

打开项目的Package.appxmanifest文件,切换到「打包」选项卡,手动修改「版本」字段的四个数字段(主版本、次版本、内部版本、修订版本),每次发布前更新对应数值。

自动递增(适配持续发布场景)

  • 通过项目文件配置自动版本:编辑项目的.csproj文件,添加或修改版本配置,使用通配符让内部版本号自动递增:
<PropertyGroup>
    <!-- 主版本.次版本.* 会让Build自动递增,Revision固定为0 -->
    <Version>1.0.*</Version>
</PropertyGroup>
  • CI/CD流程自动更新:在Azure DevOps、GitHub Actions等CI工具中,添加步骤读取当前包版本号,自动递增指定字段(比如Build或Revision),再将新版本号写入Package.appxmanifest或项目文件,随后执行发布流程。

3. 当前版本获取格式是否正确

这个格式是完全正确的。Windows应用包的版本号本身由Major.Minor.Build.Revision四个数字段组成,你的代码准确读取了这四个字段并拼接成标准的版本字符串格式,输出结果符合Windows应用版本的通用展示习惯。

内容的提问来源于stack exchange,提问作者G.Medina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:15:36