Install .NET 7 in Fedora 37
A few weeks ago .NET 7 was finally released by Microsoft with a lot of new features. Highly recommended is the article around the performance improvements (Performance Improvements in .NET 7) that have been made compared to .NET 6.0.
This post is not primarily about what new features .NET 7.0 brings, but more about how to install the latest runtime from microsoft on fedora. Unfortunately, only .NET 6.0 can be installed via dnf. .NET 7.0 is still completely missing from the package sources.
The official documentation for .NET 7.0 and fedora only shows the not much meaningful information (Supported Version):
.NET 7 isn’t yet ready for Fedora. This article will be updated when it’s available.
whatever that means
This article is a kind of continuation of my last article about Use .NET 7 with Fedora 36 and Distrobox and describes the installation of .NET 7.0 on Fedora 37. The same procedure should most likely work for Fedora 36/35 as well.
First, head over to the official .NET 7.0 download page and select dotnet-install scripts or use wget to download the official dotnet-install.sh script.
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh chmod +x ./dotnet-install.sh
The installation is pretty much straightforward. Just define the specific major version with the –channel parameter to indicate a specific version. The following command installs the .NET 7.0 SDK on your computer.
./dotnet-install.sh --channel 7.0
All necessary bits and bytes are installed by default under ~/.dotnet.
ls -l ~/.dotnet drwxr-xr-x. 1 stef stef 24 15. Nov 20:07 corefx drwxr-xr-x. 1 stef stef 6 7. Dez 21:04 host drwxr-xr-x. 1 stef stef 0 8. Dez 20:52 metadata drwxr-xr-x. 1 stef stef 224 7. Dez 21:04 packs drwxr-xr-x. 1 stef stef 28 7. Dez 21:16 sdk drwxr-xr-x. 1 stef stef 28 7. Dez 21:07 sdk-advertising drwxr-xr-x. 1 stef stef 52 7. Dez 21:16 sdk-manifests drwxr-xr-x. 1 stef stef 90 7. Dez 21:04 shared drwxr-xr-x. 1 stef stef 6300 27. Nov 19:00 symbolcache drwxr-xr-x. 1 stef stef 3774 8. Dez 20:52 TelemetryStorageService drwxr-xr-x. 1 stef stef 22 7. Dez 21:16 templates drwxr-xr-x. 1 stef stef 112 27. Nov 18:55 tools -rwxr-xr-x. 1 stef stef 175832 7. Dez 21:04 dotnet
Once the installation has been completed successfully, two environment variables must be set so that the SDK can be accessed correctly from the console. In your .bashrc set the following two environment variables:
export DOTNET_ROOT=$HOME/.dotnet export PATH=$DOTNET_ROOT:$PATH:$DOTNET_ROOT/tools
DOTNET_ROOT variable is set to the folder .NET was installed to. And PATH should include both the DOTNET_ROOT folder and the user’s .dotnet/tools folder.
The correct installation can be checked relatively easily with the help of the dotnet command line tool:
dotnet --info Runtime Environment: OS Name: fedora OS Version: 37 OS Platform: Linux RID: fedora.37-x64 Base Path: /home/stef/.dotnet/sdk/7.0.100/ .NET SDKs installed: 6.0.403 [/home/stef/.dotnet/sdk] 7.0.100 [/home/stef/.dotnet/sdk] .NET runtimes installed: Microsoft.AspNetCore.App 6.0.11 [/home/stef/.dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 7.0.0 [/home/stef/.dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.11 [/home/stef/.dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.0 [/home/stef/.dotnet/shared/Microsoft.NETCore.App] Environment variables: DOTNET_ROOT [/home/stef/.dotnet]
In Rider I had the problem that the SDK was not recognized. However, this can be fixed without much effort. Under File -> Settings go to Build, Execution, Deployment and select Toolset and Build.
Now change the .NET CLI executable path so that it matches your own installation.