You're unable to read via this Friend Link since it's expired. Learn more
Member-only story
Getting Started With .NET 8: Seamless Setup With DevContainers
Find out how to take it for a test run!

The relentless march of the .NET release schedule continues at an impressive pace! Even though the gloss on version 7 hasn’t had a chance to fade, version 8 stands on our doorstep, poised for release in November 2023. The .NET team has announced a wealth of new features to pique our curiosity. And to make sure we are all paying attention, they have already rolled out five preview versions.
I usually enjoy getting hands-on with new tools and technologies before they’re officially released, and .NET 8 is no different. However, this can lead to an accumulation of installed SDK versions, cluttering my development machine. To avoid this, I lean on DevContainers, which help me keep my dev environment clean and organized. In this post, I’ll walk you through this approach, illustrating how to use a DevContainer to explore all of the new features in .NET 8 while keeping your machine clutter-free.
As with all of my previous DevContainer posts, the prerequisites are:
- Docker
- Visual Studio Code
- The ‘Remote Containers’ extension for VSCode
All of the code is available here, but I’d encourage you to work through the process yourself to get a better understanding of what is going on.
Let’s dive right in!
What is a DevContainer?

Before we get started, let’s have a quick recap. A DevContainer, short for Development Container, is a fully functional and isolated development environment encapsulated within a Docker container. This means that the developer environment is configured in code and moves with the repo. There is a bit of a setup hurdle to overcome, but once set up, anyone can spin up the exact same environment quickly and reliably, eliminating the notorious “it works on my machine” problem. This makes onboarding new team members or switching between projects hassle-free, providing a consistent, reproducible, and easy-to-manage coding environment.