wal*_*rlv 10 .net c# visual-studio nuget .net-core
我有一个Visual Studio项目,它是作为NuGet lib包构建的.但每次我发布包时,我都必须手动更改版本号.这是一个容易出错的工作.我想自动生成并增加包版本号.
我找到了GitVersion工具来解决这个问题.我还发现了一些语义版本博客来解释持续交付的包版本.
但不幸的是,GitVersion包对我来说无法正常工作.
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
到csproj文件中,它将不执行任何操作,包版本将为0.0.0.0.也许原因是我正在使用新的csproj格式.看到这里查看csproj文件,文件如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net45;net47;netstandard2.0</TargetFrameworks>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
任何回复表示赞赏.
更新:
我发现有一个问题需要提一下我的问题:VS2017式csproj的Gitversion任务·问题#1349·GitTools/GitVersion.我正在尝试新的解决方案.
不确定 Jenkins,但它应该能够自行生成增量数字或时间戳,可以通过构建管道上的环境变量进行访问。
我认为最灵活的方法是将PackageVersion
带有占位符的标签添加到您的 csproj,然后您的构建管道可以更改:
<PropertyGroup>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<PackageVersion>$(PackageVersion)</PackageVersion>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
因此,在构建管道上,您只需传递版本,例如:
dotnet build -p:PackageVersion=$(BUILD_TIMESTAMP)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1466 次 |
最近记录: |