.NET Development on Linux
Guide on setting up Linux (CachyOS) for .NET Web Development including packages required/recommended.
While I am ricing my CachyOS, I do still need to work - and that primarily consists of .NET Development. This article covers everything I had to install to get up and running.
The list is not exhaustive and may need to be updated from time to time.
IDE
| Application | Details | Reference |
|---|---|---|
| Visual Studio Code | Community managed binary in AUR | https://aur.archlinux.org/packages/visual-studio-code-bin |
| VS Codium | Alternative to Visual Studio Code stripped of Microsoft data collection | https://aur.archlinux.org/packages/vscodium |
Personally, I use Visual Studio Code with the C# Dev Kit extension.
You could also go for JetBrains Rider, but I have not used that - so I won’t comment on it.
Packages
| Packages | Details | Reference |
|---|---|---|
| dotnet-sdk | Compiles source code, runs commands, and builds your projects | https://archlinux.org/packages/extra/x86_64/dotnet-sdk/ |
| aspnet-runtime | Provides libraries to run and host web applications locally | https://archlinux.org/packages/extra/x86_64/aspnet-runtime/ |
| dotnet-targeting-pack | Reference assemblies required to compile console and desktop applications | https://archlinux.org/packages/extra/x86_64/dotnet-targeting-pack/ |
| aspnet-targeting-pack | Reference assemblies required to compile web and API projects | https://archlinux.org/packages/extra/x86_64/aspnet-targeting-pack/ |
| netstandard-targeting-pack | Compilation of cross-platform libraries targeting .NET Standard specifications | https://archlinux.org/packages/extra/x86_64/netstandard-targeting-pack/ |
Here is a handy single line install command for the required ones:
| |
Entity Framework Core CLI could also be handy if you plan on building web applications or use databases:
| |
Finally, Microsoft SQL Server can be a pain to run natively on Arch Linux, so using Docker might help:
| |
Anything else?
You need to update your PATH environment variable for your terminal to recognize some of those .NET tools.
You can do so via you ~/.bashrc or ~/.zshrc scripts, but since I am on Hyprland, I went with my Hyprland Configurations:
| |
Run the following command if you are not sure where your binaries are:
| |
And that’s a wrap ✌️