Versioning a .NET Core 2.2 application

Dominic Burford
1 min readMar 7, 2019

Following on from an earlier article[^] I wrote about versioning a .NET Core 2.0 application, I have now had to revise this since the method I used for that version of the application is not supported in .NET Core 2.2. In that article, I demonstrated how to use a tool called setversion[^] for versioning a .NET Core 2.0 application. After upgrading our application to .NET Core 2.2 I found out that this is not currently supported any more.

Instead of using the setversion tool, I am using the dotnet publish command-line utility. When using this command-line utility, you are able to specify a version number.

I am still using the same build script as described in my previous article, and this is invoked from our TFS build server in the same manner. Just to reiterate, within TFS you have the ability to pass arguments to your Windows batch files. I am passing the build version number $(Build.BuildNumber) as the argument.

I then invoke my Windows batch file (called setversion.bat)

Hide Copy Code

@echo off
cls
ECHO Setting version number to %1cd <projectFolder>
dotnet restore
dotnet publish <project>.csproj --configuration Release /p:Version=%1

This all works perfectly, and the deployed application assemblies are stamped with the correct version number.

--

--

Dominic Burford

A father, cyclist, vegetarian, atheist, geek and multiple award winning technical author. Loves real ale, fine wine and good music. All round decent chap.