Old NET Core Setup on Ubuntu 22 This used to be the method of setting up the dot net runtime and SDK on an ubuntu machine. But, the Ubuntu packages for dotnet conflict with Microsoft’s, and give errors when attempting to list the runtimes that got installed. NOTE: This old method is left, here, in case a pre-Ubuntu 22 machine needs it. NOTE: See this page for how to install .NET in Ubuntu 24: https://wiki.galaxydump.com/books/howto/page/install-dotnet-6-on-ubuntu-2404 NET Core Setup This section is here to cover both runtime and SDK installations. However, the steps for installing the dotnet runtime and dependencies is in a tested ansible role, docker-runtime. Call it from the build server to perform the tasks defined here. These instruction were taken from here:  https://docs.microsoft.com/en-us/dotnet/core/install/linux-debian Update packages: sudo apt-get update Install keys for Debian: wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb Install the SDK: sudo apt-get update && sudo apt-get install -y dotnet-sdk-6.0 Check that the SDK was installed: dotnet --list-sdks Install the runtime (this is only required if the SDK was NOT installed): sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-6.0 Check that the runtime was installed: dotnet --list-runtimes Dotnet Cannot be Found If you have a naked service running on Ubuntu 22, and it fails to startup, and its journalctl logs show this error: .NET location: Not found Be sure to check that your dotnet runtime is installed with: dotnet --info If the proper runtime is installed, your problem is likely that the Ubuntu package is hosed. See this for details:  https://github.com/dotnet/runtime/issues/79237#issuecomment-1342719457 Here’s the package manager bug reference:  https://bugs.launchpad.net/ubuntu/+source/dotnet6/+bug/1999266 To fix the problem, your dotnet application needs to be able to locate the base dotnet runtime folder. Edit this file: /etc/dotnet/install_location If something is wrong, it likely points to: /usr/lib/dotnet, which is where dotnet SHOULD be installed. But, the net6 packages are messed up, and get installed, here: /usr/share/dotnet, instead. To fix things, edit the file (/etc/dotnet/install_location), to point to the correct folder: Save the change, and try to restart your naked service. It should start up, fine.