Azure DevOps流水线构建WPF应用时产品版本自动附加Git提交哈希
解决WPF构建版本自动附加Git提交ID的问题
以下是几个针对性的排查和解决步骤:
在dotnet build命令中显式指定版本
在Azure DevOps的dotnet构建任务的Arguments中添加版本参数,强制覆盖自动生成的版本号:build --configuration Release /p:Version=1.0.0这个参数会直接指定产品版本,忽略自动生成的Git提交ID后缀。
检查并修改csproj中的版本相关属性
即使移除了VersionPrefix和VersionSuffix,dotnet仍可能自动生成版本信息。在项目的csproj文件中添加明确的版本配置:<PropertyGroup> <!-- 禁止自动生成程序集信息,避免版本被自动覆盖 --> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <!-- 产品版本 --> <Version>1.0.0</Version> <!-- 程序集版本 --> <AssemblyVersion>1.0.0.0</AssemblyVersion> <!-- 文件版本 --> <FileVersion>1.0.0.0</FileVersion> </PropertyGroup>这样可以彻底锁定所有版本字段,防止自动追加Git信息。
排查Azure DevOps流水线的版本传递设置
检查dotnet构建任务的配置项,是否存在类似**"使用构建编号为程序集版本化"**的勾选选项。如果有,取消该选项,避免流水线自动将构建相关信息注入版本号。检查是否引入了GitVersion工具
如果项目中引用了dotnet-gitversion这类工具,它会自动读取Git提交信息并生成带后缀的版本。检查csproj中是否有以下引用,如有则移除:<DotNetCliToolReference Include="GitVersion.CommandLine" Version="x.x.x" />
按上述步骤逐一排查,优先尝试显式指定Version参数的方法,通常可以快速解决问题。
内容的提问来源于stack exchange,提问作者Vikas Rayiparambil
相关产品推荐
相关产品推荐

