Back to Podcast Digest
dotnet47m

Simplifying .NET Installs with dotnetup

TL;DR

  • dotnetup is meant to replace today's .NET install mess with one supported flow: Chad Husk frames the problem as "Visual Studio on Windows" versus "everyone else," where developers bounce between Visual Studio Code, Homebrew, distro packages, install scripts, DNVM, asdf, and manual zip or tarball installs.

  • The core promise is simple repo setup from global.json: in the demo, dotnetup init installs the latest SDK into the user's home directory, and dotnetup sdk install reads a repo's global.json to fetch the right feature band, such as moving from .NET 10.3xx to 10.1xx when rollForward changes to latestPatch.

  • It tracks intent, not just installed bits: dotnetup list shows installed SDKs, tracked channels, and why they exist, so a future dotnetup update can automatically move a machine forward when new versions like 10.9 or 10.10 ship.

  • Runtime-only installs fix a common wasteful CI pattern: Husk shows tests targeting .NET 8, 9, and 10 failing on a machine with only .NET 10 runtimes, then fixes it with dotnetup runtime install 8.0 9.0 10, avoiding full parallel SDK installs that can each cost hundreds of megabytes.

  • Microsoft is designing this as much for agents as for humans: the tool is built to run without admin rights, add guard rails for AI and CI setup, and eventually publish agent skills so automated systems can install, update, and compare SDK versions safely.

  • The roadmap goes beyond installs into supply chain trust and componentized tooling: planned milestones include daily SDK support, one-shot execution for A/B testing versions, self-update, update notifications, full signature verification, runtime declarations in global.json, and longer-term integration into GitHub Actions setup-dotnet and Azure DevOps UseDotNet.

The Breakdown

Microsoft is trying to make "clone repo, run one command, and be good to go" the default .NET setup experience with dotnetup, a new cross-platform installer and version manager that works in user space without admin rights. Chad Husk shows early previews of SDK and runtime installs, automatic tracking of what each repo needs, and a roadmap that pulls humans, CI systems, and AI agents onto the same supported path.

Was This Useful?

Share