Announcements

Microsoft Introduces dotnetup: A Toolchain Manager for .NET

Microsoft has released a public preview of dotnetup, a user-local toolchain manager designed to simplify .NET SDK and runtime management on macOS and Linux.

A
AIDeveloper44 Team
October 16, 2026·4 min read
Microsoft Introduces dotnetup: A Toolchain Manager for .NET

Visual representation of the modular dotnetup toolchain management system.

TL;DR
  • dotnetup is a new cross-platform toolchain manager for non-admin installation and management of .NET SDKs and runtimes.
  • The tool simplifies side-by-side versioning and updates by storing files in user-owned directories rather than system paths.
  • It is currently in public preview for macOS and Linux, with plans for Windows support in the future.

Overview of dotnetup

Microsoft has announced the public preview of dotnetup, a toolchain manager specifically designed to streamline the installation and maintenance of .NET SDKs and runtimes. Developed to address the complexities of managing .NET environments on macOS and Linux, dotnetup allows developers to manage their toolchains without requiring administrative or root permissions.

Historically, .NET developers on Unix-like systems have relied on a combination of system-level package managers like apt or brew, standalone shell scripts, or manual tarball extraction. These methods often lead to fragmented file structures or permissions conflicts. dotnetup seeks to solve these issues by centralizing all installations within a user-owned directory, ensuring consistency across different development environments.

Key Features and Design Goals

The core objective of dotnetup is to reduce the friction associated with maintaining a .NET development environment. Its design prioritizes several specific capabilities:

  • Non-Admin Operation: By installing everything into user-accessible folders, the tool eliminates the need for sudo access, making it safer and easier to manage in locked-down or containerized environments.
  • Side-by-Side Management: The tool supports the concurrent installation of multiple SDK and runtime versions. This is particularly useful for developers who need to switch between LTS releases, preview channels, and daily builds without version collisions.
  • Intent-Based Tracking: Rather than forcing users to manually manage every specific file, dotnetup tracks the user's intent. For example, a user can track a major version (like 10.0), and the tool will ensure that the latest servicing updates are applied during the update process.
  • Project Compatibility: The tool is designed to work alongside existing global.json files, ensuring that specific project requirements for SDK versions are respected and enforced within the managed environment.

Getting Started

The installation process for dotnetup involves a simple bootstrap script available for macOS and Linux. Once installed, the dotnetup init command configures the user's shell profile to point to the managed environment. This setup ensures that the standard dotnet command is correctly routed to the versions managed by dotnetup.

For users who prefer not to alter their shell environment or PATH, dotnetup provides flexible configuration options, including a forwarding command approach. This allows developers to maintain tight control over which terminal sessions have access to specific .NET toolchains.

Maintaining the Environment

Monthly servicing updates are a critical part of the .NET ecosystem. dotnetup simplifies this through a singular dotnetup update command. This command scans the installed, tracked channels and updates them to the latest available versions while leaving exact-version pins untouched. This automated approach helps ensure that development environments remain secure and up-to-date with minimal manual intervention.

The tool also facilitates the removal of unnecessary components. If a specific version or runtime is no longer required, dotnetup identifies and cleans up the associated files, provided they are not required by other tracked channels.

Future Roadmap

While the tool is currently in public preview for macOS and Linux, Microsoft has noted that future releases will focus on expanding support to Windows. Given the prevalence of system-level installers on Windows, the team intends to build functionality that manages those existing installations while maintaining the core benefits of the dotnetup workflow. The tool is also designed to be useful in CI/CD pipelines, where its ability to run non-interactively and without root privileges makes it suitable for ephemeral build agents.

Diagram: dotnetup architecture managing local .NET versions

Enjoyed this?

Get more posts like this delivered to your inbox.