Assembly versioning with MSBuild

Ah, the problem of assembly versioning - always there to cause headaches. Maybe it’s time to solve it once and for all? Well… we can at least try 😃 Requirements This is what I want from a versioning system: vanilla MSBuild only - I don’t want to depend on any external stuff for every single project partial SemVer is possible but not required - store a pre-release label in assembly attribute easily automated versioning - it should be as easy as passing an argument to MSBuild, which would enable versioning CI builds and automated releases no changes in the code repository - when I run a build locally I don’t want any new files or modifications to existing ones extra: no need to modify every project in solution Preparations For the sake of simplicity I’ll assume the default folder structure for ....

July 10, 2017 · 6 min · Artemigos

MSBuild and .NET Core

This post (contrary to the previous one) was written for a blog so it should be much easier to read. Nevertheless I encourage you to read the first one - I’m going to assume that you understand the topics introduced there. Let’s look at the new stuff - MSBuild 15. Together with the last .NET Core release Microsoft made version 15 of MSBuild available. With this *.csproj (and *.fsproj and *....

May 11, 2017 · 4 min · Artemigos

MSBuild basics

This post was written as part of presentation/training I did recently. The original content can be found on my github: Artemigos/msbuild-presentation 1.0.0-INTRO MSBuild is a process automation tool with emphasis on building .NET projects. 1.1.0-Overview property - simple string data (configuration, target architecture, output directory) item - list with things (files, references, resources, other) task - operation that can be performed (copy files, create folders, zip files, compile a dll) target - set of tasks that accomplishes something (Build, Rebuild, Clean) 2....

April 29, 2017 · 5 min · Artemigos