I’ve been playing with Umbraco v8 for a while now, and I’ve been creating lots of packages and content apps lately. My latest v8 packages are:

I’ve also worked on some packages which haven’t been released yet or never will. Some people might think this is a waste of time, but for me it is a way of expressing myself and a way of learning. I used to think developers were logical thinkers and not creative, but these days I know that not to be the case and we developers are creative too, in our own way.

Anyway, in creating all of these content apps, starter kits and NuGet packages, I have learned a lot and have managed to create a repeatable process to make development easier. And when I learn how to do something in repeatable steps, I like to record those steps for my own benefit and for anyone else who is interested.

This blog post series will be a tutorial for you to follow along with. I may also create videos to accompany the posts. In this series you will create a content app. The point of this is not to create yet another content app, it is to share the repeatable steps for building packages for Umbraco v8 so you can have the confidence and structure in place to be able to start creating packages for your own ideas, which other people can contribute to and you can maintain easily enough.

In this series we will:

  • Create a GitHub repository and clone it to your machine
  • Create a web project inside a Visual Studio solution and Install Umbraco v8 in it
  • Learn which files and folders we can ignore when checking into source control
  • Create a class library project which will contain all of the code for our package
  • Setup post-build events to copy over the relevant files into the web project
  • Create a content app
  • Create and publish a package on
  • Create a NuGet package and publish it on
  • Set up AppVeyor to automatically build and deploy your NuGet packages
  • Publish your demo site to azure for free

When a new post is ready I will release it here, tweet about it and update the list above with the link to the relevant article. Make sure you bookmark this post to see which tutorials are now available.

I would appreciate feedback from the community

Part of why I am doing this is to show people what I have learned and see if they know an even better way to do it. So I fully expect to be corrected by fellow developers along the way. If you have any feedback or you know a better way to do something, please share. I am available on twitter as @CodeSharePaul

Paul Seal

Umbraco MVP and .NET Web Developer from Derby (UK) who specialises in building Content Management System (CMS) websites using MVC with Umbraco as a framework. Paul is passionate about web development and programming as a whole. Apart from when he's with his wife and son, if he's not writing code, he's thinking about it or listening to a podcast about it.

Proudly sponsored by


  • Moriyama build, support and deploy Umbraco, Azure and ASP.NET websites and applications.

  • CI/CD service for Windows, Linux and macOS
  • Build, test, deploy your apps faster, on any platform.

  • is the easy error logging and uptime monitoring service for .NET.
  • Take back control of your errors with support for all .NET web and logging frameworks.
uSync Complete

  • uSync.Complete gives you all the uSync packages, allowing you to completely control how your Umbraco settings, content and media is stored, transferred and managed across all your Umbraco Installations.

  • More than a theme for Umbraco CMS, take full control of your content and design with a feature-rich, award-nominated & content editor focused website platform.

  • Affordable, Geo-Redundant, Umbraco hosting which gives back to the community by sponsoring an Umbraco Open Source Developer with each hosting package sold.