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 ....
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 *....
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....
Ready... Steady... GO!
With this I’ll be kicking off my blog. There’s still stuff to do here to make it decent, but for now this will do. For the first posts I will be moving things over from other places and translating them. I’ll also be learning how to work with Jekyll, because that’s what I’m using for this blog. Fun times ahead! (hopefully…)