dotnet extras
developer experience tools for dotnet,
served on the side.
curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/install.sh | bash
click to copy
order up!
A single binary that combines SDK version management and NuGet package management into one well-seasoned developer experience.
Install, switch between, and manage multiple .NET SDK versions. Like nvm, but for dotnet. A pinch of seasoning for your setup.
Search, install, update, and remove NuGet packages through a beautiful terminal interface. Your packages, neatly boxed up.
One download. No runtime dependencies. Works on Linux, macOS, and Windows across x64 and arm64. One utensil, all dishes.
Every command works both interactively and with direct arguments for automation and CI/CD. Cook it your way.
Batch operations across entire solutions. Install packages or add references to multiple projects at once. A full bento box of features.
Manage project-to-project references visually. Add and remove references without editing XML.
# install the latest .NET 8.0 SDK $ dx sdk install 8.0 Installing .NET SDK 8.0.404... ✓ .NET SDK 8.0.404 installed successfully # switch to it $ dx sdk use 8.0 ✓ Now using .NET SDK 8.0.404 # check what's active $ dx sdk current 8.0.404
system to revert to the system-installed dotnet. Supports partial version matching.
~/.dvm/versions/. The active version is a symlink at ~/.dvm/current pointing to the selected version directory. Your shell's $DOTNET_ROOT and $PATH are configured during installation to resolve through this symlink.
Installed .NET SDK versions: 9.0.100 * (default) 8.0.404 6.0.428 * = currently active
Available .NET SDK versions: 9.0 9.0.100 (Current) 8.0 8.0.404 (LTS) 7.0 7.0.120 (STS) 6.0 6.0.428 (LTS)
# open a project $ dx deps ./MyProject.csproj # or a solution for batch operations $ dx deps ./MySolution.sln
When you open a .csproj file, the TUI launches with three tabs:
Search,
Installed, and
References.
Switch between them with Tab.
Real-time NuGet package search with debounced queries. Results show package name, version, download count, and a verified badge. Select a package to view all available versions and install a specific one.
Lists all packages from the project file with automatic update checks against NuGet. Packages with available updates are highlighted. Quickly update or remove packages.
Manage project-to-project references. When inside a solution, adding a reference shows a picker with sibling projects. Otherwise, enter the path manually.
When you open a .sln file, you get three batch operation modes. Each one operates across multiple projects at once.
Search for a package, pick a version, then select target projects. The package is installed to each selected project sequentially with per-project result tracking.
Select source projects to reference, then select target projects. All source projects are added as references to each target. Conflicts (self-references) are excluded automatically.
Pick a project from the solution to open in the full single-project TUI. All three tabs (Search, Installed, References) are available.
dx deps MyApp Search | Installed | References โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Search: newtonsoft| > Newtonsoft.Json 13.0.3 872M ✓ Newtonsoft.Json.Bson 1.0.3 28M ✓ Newtonsoft.Json.Schema 4.0.1 9M ✓ JsonSubTypes 2.0.1 5M Newtonsoft.Msgpack 1.1.2 1M โโ navigate enter select ctrl+p prerelease tab switch
$ curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/install.sh | bash Detected: linux-x64 Downloading dx v1.0.0... Installing to ~/.local/bin/dx Setting up .dvm directory... Configuring shell (bash)... ✓ dx installed successfully! Restart your terminal or run: source ~/.bashrc
~/.local/bin/dx.~/.dvm/ with versions/ and cache/ subdirectories.DVM_DIR, DOTNET_ROOT, and PATH exports to your shell RC file.curl -fsSL https://raw.githubusercontent.com/sidekit-net/dx/main/uninstall.sh | bash