{"id":661278,"date":"2026-10-21T09:52:09","date_gmt":"2026-10-21T09:52:09","guid":{"rendered":"https:\/\/www.newsbeep.com\/ie\/661278\/"},"modified":"2026-10-21T09:52:09","modified_gmt":"2026-10-21T09:52:09","slug":"microsoft-previews-dotnetup-toolchain-manager-for-net-sdks-and-runtimes","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/ie\/661278\/","title":{"rendered":"Microsoft Previews dotnetup: Toolchain Manager for .NET SDKs and Runtimes"},"content":{"rendered":"<p>Microsoft has released a <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-dotnetup\/\" rel=\"nofollow noopener\" target=\"_blank\">public preview of dotnetup<\/a>, a cross-platform toolchain manager that installs, updates, and removes .NET SDKs and runtimes inside the user&#8217;s account rather than a system-managed directory. As reported on the .NET Blog, the tool was announced on October 15 by Chet Husk, program manager for the .NET SDK, and follows the model of rustup and nvm.<\/p>\n<p>According to the <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/tools\/dotnetup\" rel=\"nofollow noopener\" target=\"_blank\">documentation<\/a>, commands and behavior may change between preview releases, and production machines should keep using the installers, package managers, or Visual Studio.<\/p>\n<p>The design, as described in the announcement, tracks intent instead of versions. A developer asks for a <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/concepts\/channels\" rel=\"nofollow noopener\" target=\"_blank\">channel<\/a> such as latest, lts, preview, daily, a major like 10, a minor like 10.0, or a feature band like 10.0.1xx, and dotnetup resolves it to a release. Exact versions, as the post notes, stay pinned during updates.<\/p>\n<p>Several requirements can share one managed installation, and the tool reads the nearest <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/usecases\/install-with-global-json\" rel=\"nofollow noopener\" target=\"_blank\">global.json<\/a> so team builds stay deterministic. Furthermore, according to the docs, files live under the user&#8217;s <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/concepts\/how-dotnetup-works\" rel=\"nofollow noopener\" target=\"_blank\">local data directory<\/a> on Windows, macOS, and Linux, and dotnetup never writes to Program Files\\dotnet or \/usr\/share\/dotnet.<\/p>\n<p>Installation uses a <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-dotnetup\/#installing-dotnetup-and-getting-started\" rel=\"nofollow noopener\" target=\"_blank\">bootstrap script<\/a> fetched from aka.ms with curl or irm. As described in the docs, it places the binary in ~\/.dotnetup after checking its SHA-512 checksum, and dotnetup init then installs the latest stable SDK and configures the shell. The docs list <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/getting-started\" rel=\"nofollow noopener\" target=\"_blank\">three access modes<\/a>: none runs .NET through dotnetup dotnet without touching the environment, shell edits the shell profile, and everywhere, the Windows-only default, changes the system PATH and needs elevation.<\/p>\n<p>The docs also warn that <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/concepts\/environment#everywhere-mode-considerations\" rel=\"nofollow noopener\" target=\"_blank\">everywhere mode<\/a> takes precedence over machine-wide copies, including the one Visual Studio installs, so projects needing an SDK dotnetup has not installed fail to build. To avoid that, setup reportedly offers to migrate existing machine-wide installs.<\/p>\n<p>As reported, monthly servicing becomes a single <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/tools\/dotnetup\/usecases\/update-installations\" rel=\"nofollow noopener\" target=\"_blank\">dotnetup update<\/a>, which re-resolves every tracked channel and installs the newest matching versions. Individual runtimes can be targeted, for example dotnetup runtime install aspnetcore@10.0, and the docs list the SDK, .NET runtime, ASP.NET Core runtime, and Windows Desktop runtime as supported components. After an update, as stated in the post, dotnetup removes any component no remaining requirement needs, and sdk uninstall or runtime uninstall trigger the same cleanup.<\/p>\n<p>Moreover, <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/usecases\/try-daily-builds\" rel=\"nofollow noopener\" target=\"_blank\">preview and daily builds<\/a> install side by side through dotnetup sdk install preview or dotnetup runtime install daily, although the docs note that daily builds are not code-signed. <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/usecases\/manage-dotnetup\" rel=\"nofollow noopener\" target=\"_blank\">dotnetup self update<\/a> refreshes the tool itself. Over the <a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/core\/tools\/dotnetup\/choose-dotnetup\" rel=\"nofollow noopener\" target=\"_blank\">dotnet-install scripts<\/a>, the post claims tracking of installed components, signature and checksum validation, faster multi-version installs, and one CLI surface on every platform. The stated roadmap includes admin-level installs on Windows, replacing the script-based parts of the GitHub Actions and Azure DevOps tasks, and agent skills so AI assistants reach for the tool by default.<\/p>\n<p>Meanwhile, on r\/dotnet, one developer with months of use praised the simpler Linux setup, but the top comment asked why anyone would pick dotnetup over mise, which several already use.<\/p>\n<p>Others criticized the curl-to-shell bootstrap, asked for winget, apt, or Homebrew packages, noted that Visual Studio does not see dotnetup installs, and wanted dotnet-ef and other CLI tools managed too. In reply on the <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-dotnetup\/#comments\" rel=\"nofollow noopener\" target=\"_blank\">blog<\/a>, Husk stated that packages are planned after user validation.<\/p>\n<p>For interested readers, full documentation, including the command reference and telemetry details, is available on <a href=\"https:\/\/learn.microsoft.com\/dotnet\/core\/tools\/dotnetup\" rel=\"nofollow noopener\" target=\"_blank\">Microsoft Learn<\/a>, and feedback goes to the dotnetup category of the <a href=\"https:\/\/github.com\/dotnet\/sdk\/discussions\/categories\/dotnetup\" rel=\"nofollow noopener\" target=\"_blank\">dotnet\/sdk GitHub discussions<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"Microsoft has released a public preview of dotnetup, a cross-platform toolchain manager that installs, updates, and removes .NET&hellip;\n","protected":false},"author":2,"featured_media":661279,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[80235,164270,80233,80234,8853,280167,61,60,32000,80],"class_list":["post-661278","post","type-post","status-publish","format-standard","has-post-thumbnail","category-technology","tag-net-10","tag-net-11","tag-net-9","tag-net-core","tag-development","tag-dotnetup-preview","tag-ie","tag-ireland","tag-net","tag-technology"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts\/661278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/comments?post=661278"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/posts\/661278\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/media\/661279"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/media?parent=661278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/categories?post=661278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/ie\/wp-json\/wp\/v2\/tags?post=661278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}