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

如何使Jenkins构建与Visual Studio 2022本地构建版本一致?

在Visual Studio 2022中实现SemVer 2.0一致构建版本

1. 统一版本参数定义

在项目根目录创建Directory.Build.props文件(全局作用于所有项目),或直接修改单个项目的.csproj文件,定义与Jenkins参数对齐的版本变量:

<Project>
  <PropertyGroup>
    <!-- 默认版本值,可通过命令行覆盖 -->
    <VersionMajor>1</VersionMajor>
    <VersionMinor>2</VersionMinor>
    <VersionPatch>3</VersionPatch>
    <!-- 拼接基础版本号 -->
    <BaseVersion>$(VersionMajor).$(VersionMinor).$(VersionPatch)</BaseVersion>
  </PropertyGroup>
</Project>

2. 分支判断与元数据生成

添加条件逻辑,根据当前Git分支自动决定版本格式:

  • 主分支(如main/master):附加UTC时间戳作为元数据
  • 发布分支(如release/*):仅使用基础版本号

在Directory.Build.props或.csproj中追加以下配置:

<PropertyGroup>
  <!-- 获取当前Git分支名称 -->
  <GitBranch>$([System.Diagnostics.Process]::Start("git", "rev-parse --abbrev-ref HEAD").StandardOutput.ReadToEnd().Trim())</GitBranch>
  <!-- 生成符合示例格式的时间戳 -->
  <BuildTimestamp>$([System.DateTime]::UtcNow.ToString("yyyyMMddHHmmss"))</BuildTimestamp>
</PropertyGroup>

<PropertyGroup Condition=" '$(GitBranch)' == 'main' ">
  <!-- 主分支版本:基础版本+时间戳元数据 -->
  <Version>$(BaseVersion)+$(BuildTimestamp)</Version>
</PropertyGroup>

<PropertyGroup Condition=" '$(GitBranch)' -like 'release/*' ">
  <!-- 发布分支版本:仅基础版本 -->
  <Version>$(BaseVersion)</Version>
</PropertyGroup>

<!-- 其他分支默认版本(可选,标记本地构建) -->
<PropertyGroup Condition=" '$(Version)' == '' ">
  <Version>$(BaseVersion)+local.$(BuildTimestamp)</Version>
</PropertyGroup>

3. 本地构建的两种方式

方式1:Visual Studio GUI手动指定

右键项目 → 属性 → 生成 → 点击版本区域的编辑,直接修改Major/Minor/Patch数值,或手动输入完整SemVer格式版本号。

方式2:命令行参数构建(与Jenkins逻辑完全对齐)

使用dotnet或MSBuild命令传入版本参数,和Jenkins的参数传递方式一致:

# 主分支构建,指定版本参数
dotnet build /p:VersionMajor=1 /p:VersionMinor=2 /p:VersionPatch=3

# 发布分支构建(自动识别分支,无需额外设置元数据)
dotnet build /p:VersionMajor=1 /p:VersionMinor=2 /p:VersionPatch=3

4. 验证版本输出

构建完成后,可通过以下方式确认版本正确性:

  • 右键生成的.dll/.exe文件 → 属性 → 详细信息,查看产品版本字段
  • 在项目输出目录中检查程序集的版本属性

内容的提问来源于stack exchange,提问作者krs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:32:39