First, create a property called _VersionPrefix
in your .csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.1</TargetFrameworks>
<strong> <_VersionPrefix>1.3.1</_VersionPrefix></strong>
</PropertyGroup>
Code language: HTML, XML (xml)
Next, you’ll need to install the dotnet-setversion global tool:
dotnet tool install -g dotnet-setversion
Finally, add the following build targets:
<Target Name="SetGitVersion" BeforeTargets="PreBuildEvent">
<Exec Command="git log -n 1 --format=%25%25h -- ." ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="GitCommit" />
</Exec>
<Exec Command="git rev-list --count $(GitCommit)" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="GitRevisionNumber" />
</Exec>
</Target>
<Target Name="UpdateCsprojVersion" AfterTargets="SetVersionSuffix">
<Exec Command="setversion $(_VersionPrefix)-r$(GitRevisionNumber).$(GitCommit)"></Exec>
</Target>
</Project>
Code language: HTML, XML (xml)