我有一个Visual Studio项目,构建为NuGet lib包。但每次发布包时,我都必须手动更改版本号。这是一个容易出错的工作。 我想自动生成并增加包版本号。
我找到了GitVersion工具来解决这个问题。我还发现一些语义化版本控制博客来解释持续交付中的包版本。
- GitTools/GitVersion: Easy Semantic Versioning (http://semver.org) for projects using Git
- GitVersion Documentation
- 在持续交付的世界中对NuGet软件包进行版本控制:第1部分 - Microsoft DevOps Blog
- 在持续交付的世界中对NuGet软件包进行版本控制:第2部分 - Microsoft DevOps Blog
- 在持续交付的世界中对NuGet软件包进行版本控制:第3部分 - Microsoft DevOps Blog
但不幸的是,GitVersion包对我来说不能正常工作。
- 它会给我一个错误,指出AssemblyVersionAttribute重复。
- 如果我将
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
添加到csproj文件中,它什么都不做,软件包版本将为0.0.0.0。
可能原因是我正在使用新的csproj格式。查看这里以查看csproj文件,文件看起来像这样:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net45;net47;netstandard2.0</TargetFrameworks>
</PropertyGroup>
</Project>
感谢您的回复。
更新:
我发现提到我的问题有一个问题:Gitversion Task for VS2017-style csproj · Issue #1349 · GitTools/GitVersion。我正在尝试新的解决方案。