At some point with any decently complex project, you are going to need to start customizing your build process. Visual Studio makes this possible, and not too terribly painful, by giving developers the ability to write custom MSBuild project files. But eventually, you are going to hit the limit of what the MSBuild XML syntax can do for you - but when you reach that point, there is something else waiting - custom tasks! MSBuild gives you the ability to write custom build tasks in C# (or any .NET language), and use those tasks inside of MSBuild project files. We are going to be taking a look today at how to create these tasks and how to use them. So first, we need to create a task. To do this, you need a new Visual Studio project - any type will do, but it is easiest to go with a class library: Once you have a new blank project, we need to add a few references in order to get the classes we need to create a task. To do this, right click on "References" in Solut...