.NET Core 3.1 sdk
This package installs the .NET Core 3.1 sdk for your platform and provides the
No elevation/root required.
Partners with the dotnet-sdk-3.1 package.
Usable as a standalone but also for shipping .NET based packages:
Scenario 1: Global Installation
To make the
dotnet command available globally, run
npm i -g dotnet-3.1 // for running dotnet appsnpm i -g dotnet-sdk-3.1 // for developing dotnet apps
Scenario 2: Dependency
When installed as a dependency of a package, the
dotnet command will be available to that package's
This enables a very simple development and shipping experience for platform-independent .NET based applications.
package.json uses both the
dotnet-3.1 in order to simplify both developing and shipping the package.
This allows consuming the
contoso package easily as a standalone using
or when installed (e.g. as a dependency of another package) using
Unsurprisingly, during development the following commands will work:
npm run buildnpm run test
We created several platform-specific helper packages that actually provide the promised
dotnet installation (e.g.
Such packages exist for Windows, Linux and MacOS.
Here, we will merely determine the executing platform, acquire the corresponding package and populate
.bin with scripts forwarding any calls to the actual binaries.
The platform-specific package (see above) is installed in a shared location in order to reliably deduplicate it across installations.
By default, the installation location is
~/.net/3.1 since it is accessible without elevation.
DEBUG - set to
1 to show debugging messages from the caller/installer scripts
NO_NET_SDK - set to
1 to prevent the runtime runner for checking for and deferring to the SDK runner before using just the runtime.
DOTNET_SHARED_ARCH - overrides the architecture (one of
DOTNET_SHARED_HOME - overrides the base folder for installing dotnet runtimes/sdks. defaults to
Since the .NET core tools and runtime both use a command called
dotnet, both the runtime and sdk variants of this package do the same.
If you have both installed, it will by default use the SDK which should support the needs of runtime running too.
dotnet -- runs the SDK
dotnet tool if installed, or falls back to running the runtime
install-dotnet-sdk -- installs the shared .NET Core sdk if it's not installed. use
--force to overwrite if necessary