C# 中的包版本控制

问题描述 投票:0回答:1

成功构建包后尝试发布包时出现以下错误。

/usr/share/dotnet/sdk/8.0.204/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.GenerateAssemblyInfo.targets(226,5): error NETSDK1018: Invalid NuGet version string: '1.0.0-06181390'. [/app_build/OurProject/OurSolution/OurSolution.csproj]

1.0.0-06181390
是我们在构建它并通过 GitLab 管道发布它时使用
/p:Version=$VERSION
变量提供的版本。基本上,我们在版本末尾使用
CI_COMMIT_SHORT_SHA
,例如
1.0.0-$CI_COMMIT_SHORT_SHA

几天前它还运行良好,但现在我们得到了这个。对于理解为什么会发生突然的变化有什么帮助吗?

c# .net
1个回答
-1
投票

要解决 .NET 项目中的“无效 NuGet 版本字符串”错误,您需要更正项目配置中的 NuGet 包版本字符串,以遵循语义版本控制 (SemVer) 格式。这是分步指南:

识别有问题的版本字符串:正如您所提到的,错误 由于版本字符串“1.0.0-06181390”而发生。纠正 版本字符串:更新项目中的版本字符串 配置遵循 SemVer 格式。确保它包括 三个数字组件 (MAJOR.MINOR.PATCH) 后跟可选 预发布和构建元数据。例如,您可以更新 “1.0.0-06181390”到“1.0.0-build06181390”。这假设 “06181390”表示某种形式的构建或提交标识符。更新 项目配置:在以下位置打开项目文件(例如 .csproj) 文本编辑器或 Visual Studio。

查找版本元素:查找名为 或 的元素 在你的项目文件中。该元素指定 NuGet 包的版本。更新版本字符串:替换 现有版本字符串以及 SemVer 后面的更正版本字符串 格式。

保存更改:更新版本字符串后,保存更改 到您的项目文件。重建您的项目:再次构建您的项目 确保更改生效并验证没有 进一步的错误。发布您的包:构建成功后, 尝试再次发布您的包。这不应该再导致 “无效的 NuGet 版本字符串”错误。通过执行以下步骤并 确保您的 NuGet 包版本字符串符合 SemVer 格式,您应该能够解决错误并成功 发布你的包。

示例:

<Version>1.0.0-build06181390</Version>
© www.soinside.com 2019 - 2024. All rights reserved.