Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
dotnetup is in public preview. Its features and behavior might change before general availability.
You can install .NET in several ways. dotnetup is one option. It installs and
manages .NET SDKs and runtimes for your user account. This article helps you
decide whether dotnetup fits your scenario, or whether another installation
method is a better choice.
Scenarios that fit dotnetup
Consider dotnetup when you want to:
- Install .NET without administrator rights and without a system package manager.
- Keep several SDK and runtime versions side by side, and update them together.
- Follow a channel, such as
lts,10.0, or10.0.1xx, so that updates move to the newest matching version. - Install the SDK that a repository's
global.jsonfile requires. - Try preview or daily builds without changing the machine-wide installation.
- Use the same commands on Windows, macOS, and Linux.
Scenarios that fit other methods
Another installation method might be a better choice when you:
- Need a supported, generally available installation method.
dotnetupis in public preview. For production machines, use the .NET installers, a package manager, or Visual Studio. - Develop with Visual Studio. Visual Studio installs and services its own machine-wide copy of .NET. For more information, see Install .NET on Windows.
- Need machine-wide .NET installations. Choose an installation method based on your operating system and servicing needs. On Windows, use Microsoft Update or update the package with WinGet. On Linux, use your distribution's package manager. On macOS, run the .NET installer again to install a newer version. For more information, see Install .NET on Windows, Install .NET on macOS, or Install .NET on Linux.
- Manage and remove .NET installations across an organization's Windows devices. Use the .NET Install Manager.
Compare installation methods
| Capability | dotnetup | .NET installers and package managers | dotnet-install scripts |
|---|---|---|---|
| Installation scope | User | Machine | Any folder that you choose |
| Requires administrator rights | No, except to change the system PATH on Windows in everywhere mode |
Yes | No |
| Tracks installations | Yes | Yes, through the OS | No |
| Updates installations | Yes, with dotnetup update |
Depends on the OS and installation method | No. Run the script again. |
| Removes unused installations | Yes | Yes, through the OS | No |
Reads global.json |
Yes | No | Yes, with the --jsonfile option |
| Installs daily builds | Yes | No | Yes |
| Support status | Public preview | Generally available | Generally available |
Use dotnetup with other installations
dotnetup doesn't remove or change machine-wide installations. How the two
installations interact depends on the access mode that you choose:
- In
noneandshellmodes, processes that don't use the dotnetup environment configuration continue to use the machine-wide installation. - In
everywheremode on Windows, the dotnetup-managed installation takes precedence over the machine-wide installation. Migrate the machine-wide SDKs and runtimes that you need into the dotnetup-managed installation.
For more information, see dotnetup environment configuration.