Udostępnij za pośrednictwem


Przewodnik podejmowania decyzji dotyczących instalacji .NET w systemie Ubuntu

Ten artykuł pomaga zdecydować, jak zainstalować .NET w systemie Ubuntu. Począwszy od systemu Ubuntu 22.04, większość obsługiwanych wersji .NET jest dostępna we wbudowanym repozytorium Ubuntu. Repozytorium pakietów backports systemu Ubuntu .NET zawiera pozostałe obsługiwane wersje .NET.

Canonical przejął publikowanie .NET w systemie Ubuntu. Począwszy od systemu Ubuntu 22.04, firma Microsoft nie dystrybuuje już .NET dla systemu Ubuntu do repozytorium pakietów firmy Microsoft.

Obsługiwane dystrybucje

Poniższa tabela zawiera listę aktualnie obsługiwanych wersji .NET i obsługiwanych wersji systemu Ubuntu. Każdy link przechodzi do określonej strony wersji systemu Ubuntu z instrukcjami dotyczącymi sposobu instalowania .NET dla tej wersji systemu Ubuntu.

Ubuntu Obsługiwane wersje .NET Dostępne w
wbudowany kanał informacyjny systemu Ubuntu
Dostępne w
Przenoszenie funkcji .NET
Kanał informacyjny systemu Ubuntu
Dostępne w
Kanał informacyjny firmy Microsoft
25.10 10.0, 9.0, 8.0 10.0, 9.0, 8.0 Żaden Żaden
25.04 10.0, 9.0, 8.0 10.0, 9.0, 8.0 Żaden Żaden
24.04 (LTS) 10.0, 9.0, 8.0 10.0, 8.0 9.0, 7.0, 6.0 Żaden
22.04 (LTS) 10.0, 9.0, 8.0 8.0, 7.0, 6.0 10.0, 9.0 8.0, 7.0, 6.0, 3.1

Gdy wersja Ubuntu0 osiągnie koniec okresu pomocy technicznej, .NET nie jest już obsługiwana w tej konkretnej wersji systemu Ubuntu.

Canonical obsługuje wersje .NET w wbudowanym kanale dystrybucji Ubuntu przez cały czas trwania wsparcia tej wersji Ubuntu, nawet po zakończeniu okresu wsparcia technicznego zapewnianego przez firmę Microsoft, i zapewnia najlepsze możliwe wsparcie dla wersji .NET w repozytorium pakietów .NET backports, które nie wykracza poza okres wsparcia zapewnianego przez firmę Microsoft.

Następujące wersje .NET nie są już obsługiwane ❌:

  • .NET 7
  • .NET 6
  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Zagadnienia dotyczące uaktualniania systemu Ubuntu

Czy uaktualnić system Ubuntu do wersji 22.04 lub nowszej? Najpierw rozważ odinstalowanie .NET.

Jeśli użyto menedżera pakietów do zainstalowania .NET z repozytorium pakietów firmy Microsoft, po uaktualnieniu systemu Ubuntu wystąpi problem z połączeniem pakietów. Teraz, gdy firma Canonical publikuje .NET do repozytoriów pakietów dla systemu Ubuntu 22.04 (i nowszych wersji), menedżer pakietów nie będzie wiedział o wcześniej zainstalowanej wersji .NET. Nie można uaktualnić pakietów do najnowszej .NET. Najpierw odinstaluj je, a następnie zainstaluj je ponownie z repozytorium pakietów ubuntu.

Wybieranie sposobu instalowania .NET

Jeśli twoja wersja systemu Ubuntu obsługuje .NET za pośrednictwem wbudowanego kanału aktualizacji lub kanału backports .NET systemu Ubuntu, obsługa tych kompilacji .NET jest zapewniana przez firmę Canonical, a kompilacje mogą być zoptymalizowane pod kątem różnych obciążeń. Microsoft zapewnia wsparcie dla pakietów w kanale repozytorium pakietów Microsoft.

Ostrzeżenie

Zaleca się wybranie między kanałami Ubuntu lub Microsoft do pobierania pakietów .NET. Nie należy mieszać .NET pakietów z wielu repozytoriów pakietów, ponieważ prowadzi to do problemów, gdy aplikacje próbują rozwiązać określoną wersję .NET.

Metoda Zalety Minusy
Menedżer pakietów
(wbudowane)
Kanał informacyjny ubuntu)
  • Zazwyczaj jest dostępna najnowsza wersja.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Dostępne wersje .NET są obsługiwane w okresie pomocy technicznej dla określonej wersji systemu Ubuntu.
  • Obsługa platform IBM System Z i Power dla platform .NET 8 i nowszych.
  • Niedostępne dla systemu Ubuntu 16.04, 18.04, 20.04.
  • .NET dostępne wersje różnią się w zależności od wersji systemu Ubuntu.
  • Wersje zapoznawcze nie są dostępne.
Menedżer pakietów
(.NET przeniesienia wsteczne
Kanał informacyjny ubuntu)
  • Zawiera dowolną obsługiwaną wersję, która nie jest zawarta we wbudowanym kanale informacyjnym systemu Ubuntu.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Zgodny z wbudowanym kanałem informacyjnym Ubuntu.
  • Niedostępne dla systemu Ubuntu 16.04, 18.04, 20.04.
  • Wymaga zarejestrowania repozytorium pakietów backportów .NET systemu Ubuntu.
  • Wersje zapoznawcze nie są dostępne.
Menedżer pakietów
(Kanał informacyjny firmy Microsoft)
  • Obsługiwane wersje są zawsze dostępne.
  • Poprawki są dostępne w odpowiedni sposób.
  • Uwzględniane są zależności.
  • Łatwe usuwanie.
  • Niedostępne dla systemu Ubuntu 24.04+.
  • Wymaga zarejestrowania repozytorium pakietów firmy Microsoft.
  • Wersje zapoznawcze nie są dostępne.
  • Obsługuje tylko system ubuntu x64.
Skrypt \ wyodrębnianie ręczne
  • Określ miejsce instalacji .NET.
  • Dostępne są wersje zapoznawcza.
  • Ręczne instalowanie aktualizacji.
  • Ręcznie zainstaluj zależności.
  • Ręczne usuwanie.

W poniższych sekcjach opisano sposób instalowania .NET:

Używam systemu Ubuntu 22.04 lub nowszego i potrzebuję tylko .NET

Jeśli nie potrzebujesz innych pakietów firmy Microsoft, takich jak powershell, mdatp lub mssql, zainstaluj .NET za pośrednictwem kanału informacyjnego systemu Ubuntu. Aby uzyskać więcej informacji, zobacz następujące strony:

Ważne

Jeśli używasz zestawu .NET 8 SDK i Ubuntu 22.04, powinieneś wiedzieć, że wersje SDK oferowane przez firmę Canonical zawsze należą do przedziału funkcjonalności .1xx. Jeśli chcesz użyć nowszej wersji pasma funkcji, użyj kanału informacyjnego firmy Microsoft, aby zainstalować zestaw SDK. Upewnij się, że zapoznałeś się z informacjami w artykule Pomieszanie pakietów .NET na Linuxie, aby zrozumieć implikacje przełączania się między źródłami repozytorium.

Jeśli zamierzasz zainstalować repozytorium firmy Microsoft, aby używać innych pakietów firmy Microsoft, takich jak powershell, mdatp lub mssql, musisz zderioritizować pakiety .NET dostarczone przez repozytorium Microsoft. Aby uzyskać instrukcje dotyczące sposobu deriorytyzacji pakietów, zobacz Dystrybucja systemu Linux udostępnia pakiety .NET i chcę ich używać.

Używam wersji systemu Ubuntu wcześniejszej niż 22.04

Skorzystaj z instrukcji w sekcji specyficznej dla wersji Install .NET SDK lub .NET Runtime w systemie Ubuntu.

Zapoznaj się z sekcją Supported distributions aby uzyskać więcej informacji na temat obsługiwanych wersji .NET dla używanej wersji systemu Ubuntu. Jeśli instalujesz wersję, która nie jest obsługiwana, zobacz Rejestrowanie repozytorium pakietów firmy Microsoft.

Używam innych pakietów firmy Microsoft, takich jak powershell, mdatplub mssql

Jeśli wersja systemu Ubuntu obsługuje .NET za pośrednictwem kanałów informacyjnych systemu Ubuntu, musisz zdecydować, który kanał informacyjny powinien zainstalować .NET. Sekcja Supported distributions zawiera tabelę z wersjami .NET dostępnymi w kanałach dystrybucji pakietów.

Jeśli chcesz użyć pakietów .NET z źródła Ubuntu, musisz zdegradować priorytet pakietów .NET dostarczanych przez repozytorium firmy Microsoft. Aby uzyskać instrukcje dotyczące sposobu deriorytyzacji pakietów, zobacz Dystrybucja systemu Linux udostępnia pakiety .NET i chcę ich używać.

Chcę utworzyć aplikację .NET

Użyj tych samych źródeł pakietów dla zestawu SDK, które są używane w środowisku uruchomieniowym. Zaleca się zainstalowanie .NET za pośrednictwem kanału informacyjnego systemu Ubuntu. Jeśli jednak chcesz zainstalować .NET z innego źródła (na przykład Repozytorium pakietów Microsoft aby uzyskać dostęp do wyższych zakresów funkcji zestawu SDK, należy odinstalować .NET, skonfigurować menedżera pakietów, aby zignorować .NET pakiety z kanału informacyjnego systemu Ubuntu i ponownie zainstalować je z innego źródła.

Zapoznaj się z innymi sugestiami w sekcji Decide, jak zainstalować .NET.

Chcę uruchomić aplikację .NET w scenariuszu kontenera, chmury lub ciągłej integracji

Jeśli wersja systemu Ubuntu udostępnia wymaganą wersję .NET, zainstaluj ją z kanału informacyjnego systemu Ubuntu. W przeciwnym razie wyrejestruj repozytorium pakietów firmy Microsoft i zainstaluj .NET z tego repozytorium. Przejrzyj informacje w sekcji Obsługiwane dystrybucje .

Jeśli odpowiednia wersja .NET jest niedostępna, spróbuj użyć skryptu dotnet-install.

Moja dystrybucja systemu Ubuntu nie zawiera wersji .NET, którą chcę, lub potrzebuję wersji .NET, która nie jest już wspierana.

Zalecamy użycie narzędzia APT i repozytorium pakietów firmy Microsoft. Aby uzyskać więcej informacji, zobacz sekcję Rejestrowanie i instalowanie w repozytorium pakietów firmy Microsoft.

Chcę zainstalować wersję zapoznawcza

Użyj jednego z następujących sposobów instalowania .NET:

Nie chcę używać apt

Jeśli chcesz zainstalować automatyczną instalację, użyj skryptu instalacji systemu Linux.

Jeśli chcesz mieć pełną kontrolę nad środowiskiem instalacji .NET, pobierz tarball i ręcznie zainstaluj .NET. Aby uzyskać więcej informacji, zobacz Instalacja ręczna.

Używam procesora opartego na architekturze Arm

Jeśli wersja systemu Ubuntu udostępnia wymaganą wersję .NET, zainstaluj ją z wbudowanego źródła danych. Przejrzyj informacje w sekcji Obsługiwane dystrybucje .

Jeśli wersja .NET, której potrzebujesz, nie jest dostępna, spróbuj użyć jednego z następujących sposobów, aby zainstalować .NET:

Korzystam z platformy IBM System Z lub Power Platform

Począwszy od wersji .NET 8 w systemie Ubuntu 22.04, aplikacja Canonical obsługuje .NET dla platform IBM System Z i Power. Ta obsługa będzie kontynuowana dla każdej wersji .NET w przyszłości.

Zainstaluj .NET za pomocą wbudowanego kanału informacyjnego systemu Ubuntu. Aby uzyskać więcej informacji, zobacz następującą stronę:

Rejestrowanie repozytorium pakietów

W zależności od używanej wersji systemu Ubuntu może być konieczne zarejestrowanie backportów systemu Ubuntu lub repozytorium pakietów firmy Microsoft.

Ważne

Pamiętaj, aby wziąć pod uwagę informacje w sekcji Decide jak zainstalować sekcję .NET.

Repozytorium pakietów z backportami .NET dla systemu Ubuntu

Repozytorium pakietów backports dla Ubuntu .NET udostępnia wersje .NET, które nie są dostępne w wbudowanym repozytorium systemu Ubuntu. Firma Canonical obsługuje pakiety zawarte w tym repozytorium pakietów i zapewnia najlepszą pomoc techniczną, która nie wykracza poza okres wsparcia zapewnianego przez firmę Microsoft ani okres wsparcia dla określonej wersji systemu Ubuntu.

To repozytorium pakietów jest obsługiwane w systemach Ubuntu 24.04 LTS (Noble Numbat) i Ubuntu 22.04 LTS (Jammy Jellyfish). Sekcja Supported distributions zawiera tabelę, która pokazuje, jakie wersje .NET są dostępne w źródle pakietów. Aby uzyskać więcej informacji, zobacz repozytorium pakietów z backportami Ubuntu .NET.

Aby dodać to repozytorium pakietów, uruchom następujące polecenia:

sudo add-apt-repository ppa:dotnet/backports
sudo apt update

Zarejestruj repozytorium pakietów backports .NET dla systemu Ubuntu

Otwórz terminal i uruchom następujące polecenie:

sudo add-apt-repository ppa:dotnet/backports

Uwaga

Repozytorium pakietów backports systemu Ubuntu .NET jest zgodne z wbudowanym źródłem danych systemu Ubuntu. W związku z tym nie trzeba konfigurować menedżera pakietów, aby ignorował pakiety .NET w wbudowanym repozytorium Ubuntu.

Wyrejestruj repozytorium pakietów .NET backports dla systemu Ubuntu

Jeśli nie chcesz już korzystać z pakietów z repozytorium pakietów systemu Ubuntu .NET backports, możesz go wyrejestrować. Otwórz terminal i uruchom następujące polecenie:

sudo add-apt-repository --remove ppa:dotnet/backports

Ważne

Wyrejestrowywanie repozytorium pakietów backports systemu Ubuntu .NET nie powoduje odinstalowania żadnych pakietów.

Nie znaleziono polecenia add-apt-repository

Narzędzie add-apt-repository(1) jest wstępnie zainstalowane w większości instalacji systemu Ubuntu.

Jeśli zostanie wyświetlony komunikat o błędzie, że add-apt-repository polecenie nie zostało znalezione, musisz zainstalować software-properties-common pakiet, który udostępnia to polecenie. Otwórz terminal i uruchom następujące polecenia:

sudo apt update
sudo apt install software-properties-common

Rejestrowanie repozytorium pakietów firmy Microsoft

Ważne

Dotyczy to tylko wersji systemu Ubuntu wcześniejszych niż 24.04. Począwszy od systemu Ubuntu 24.04, firma Microsoft nie publikuje już pakietów w repozytorium pakietów firmy Microsoft. Użyj tabeli dystrybucji supported distributions aby określić najlepszy sposób instalowania .NET.

Repozytorium pakietów firmy Microsoft zawiera wszystkie wersje .NET, które były wcześniej lub są obecnie obsługiwane z twoją wersją systemu Ubuntu. Jeśli Twoja wersja systemu Ubuntu udostępnia pakiety .NET, musisz obniżyć priorytet pakietów systemu Ubuntu i użyć repozytorium Microsoftu. Aby uzyskać instrukcje dotyczące sposobu zmniejszenia priorytetu pakietów, zobacz Potrzebuję wersji .NET, która nie jest dostarczana przez mój system Linux.

Ważne

Repozytorium pakietów firmy Microsoft obsługuje tylko pakiety .NET przeznaczone dla architektury x64. Inne architektury, takie jak Arm, muszą zainstalować .NET za pomocą innych środków, takich jak skrypt installer lub manualna instalacja.

Wersje zapoznawcze nie są dostępne w repozytorium pakietów firmy Microsoft. Aby uzyskać więcej informacji, zobacz Instalowanie wersji zapoznawczych.

Ostrożność

Zalecamy używanie tylko jednego repozytorium do zarządzania wszystkimi instalacjami .NET. Jeśli wcześniej zainstalowano .NET z repozytorium Ubuntu, należy usunąć pakiety .NET z systemu i skonfigurować narzędzie APT w celu ignorowania źródeł Ubuntu. Aby uzyskać więcej informacji na temat tego, jak to zrobić, zobacz Potrzebuję wersji .NET, której nie zapewnia moja dystrybucja Linuksa.

Instalowanie za pomocą narzędzia APT można wykonać za pomocą kilku poleceń. Przed zainstalowaniem .NET uruchom następujące polecenia, aby dodać klucz podpisywania pakietów firmy Microsoft do listy zaufanych kluczy i dodać repozytorium pakietów.

Otwórz terminal i uruchom następujące polecenia:

# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release

# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb

# Clean up
rm packages-microsoft-prod.deb

# Update packages
sudo apt update

Wskazówka

Poprzedni skrypt został napisany dla systemu Ubuntu i może nie działać, jeśli używasz dystrybucji pochodnej, takiej jak Linux Mint. Prawdopodobnie zmienne i $ID nie zostaną przypisane poprawne wartości, co spowoduje, że $VERSION_ID identyfikator URI wget polecenia będzie nieprawidłowy. Element $ID odpowiada dystrybucji (na przykład ubuntu), a $VERSION_ID odnosi się do konkretnej wersji Ubuntu, dla której chcesz pobrać pakiety, takie jak 22.04 lub 23.10.

Na przykład w systemie Ubuntu 22.04 $ID będzie ubuntu, a $VERSION_ID będzie 22.04. Adres URL będzie wyglądać następująco: https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb.

Możesz użyć przeglądarki internetowej i przejść na stronę https://packages.microsoft.com/config/ubuntu/, aby zobaczyć, które wersje systemu Ubuntu są dostępne do użycia jako wartość $repo_version.

Instalowanie, odinstalowywanie lub aktualizowanie .NET

W poniższych sekcjach opisano sposób zarządzania .NET za pośrednictwem menedżera pakietów.

Instalowanie .NET

Zainstaluj .NET za pomocą menedżera pakietów za pomocą polecenia sudo apt install <package-name>. Zastąp <package-name> nazwą pakietu .NET, który chcesz zainstalować. Aby na przykład zainstalować zestaw .NET SDK 10.0, użyj polecenia sudo apt install dotnet-sdk-10.0. W poniższej tabeli wymieniono obecnie obsługiwane pakiety .NET (które might różnią się w zależności od wersji systemu Ubuntu):

Produkt Typ Pakiet
10.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-10.0
10.0 .NET Środowisko uruchomieniowe dotnet-runtime-10.0
10.0 .NET SDK dotnet-sdk-10.0
9.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-9.0
9.0 .NET Środowisko uruchomieniowe dotnet-runtime-9.0
9.0 .NET SDK dotnet-sdk-9.0
8.0 ASP.NET Core Środowisko uruchomieniowe aspnetcore-runtime-8.0
8.0 .NET Środowisko uruchomieniowe dotnet-runtime-8.0
8.0 .NET SDK dotnet-sdk-8.0

Wskazówka

Jeśli nie tworzysz aplikacji .NET, zainstaluj środowisko uruchomieniowe ASP.NET Core, ponieważ zawiera środowisko uruchomieniowe .NET, a także obsługuje aplikacje ASP.NET Core.

Niektóre zmienne środowiskowe mają wpływ na sposób uruchamiania .NET po zainstalowaniu. Aby uzyskać więcej informacji, zobacz .NET SDK i zmienne środowiskowe interfejsu wiersza polecenia.

Odinstalowywanie .NET

Jeśli zainstalowano .NET za pomocą menedżera pakietów, odinstaluj je w taki sam sposób, jak za pomocą polecenia apt-get remove:

sudo apt-get remove dotnet-sdk-6.0

Aby uzyskać więcej informacji, zobacz Uninstall .NET.

Aktualizowanie .NET

Jeśli zainstalowano .NET za pomocą menedżera pakietów, możesz uaktualnić pakiet za pomocą polecenia apt upgrade. Na przykład następujące polecenia uaktualniają dotnet-sdk-10.0 pakiet przy użyciu najnowszej wersji:

sudo apt update
sudo apt upgrade dotnet-sdk-10.0

Wskazówka

Jeśli dystrybucja systemu Linux została uaktualniona od czasu instalowania .NET, może być konieczne ponowne skonfigurowanie repozytorium pakietów firmy Microsoft. Uruchom instrukcje dotyczącą instalacji dla bieżącej wersji dystrybucji, aby zaktualizować odpowiedni pakiet repozytoriów na potrzeby aktualizacji .NET.

Zarządzanie wersjami zapoznawczymi

W poniższych sekcjach opisano sposób instalowania i odinstalowywania wersji zapoznawczych .NET.

Instalowanie wersji zapoznawczych

Wersje zapoznawcze i kandydaci do wydania .NET nie są dostępne w repozytoriach pakietów. Możesz zainstalować wersje zapoznawcze i kandydatów do wydania .NET w jeden z następujących sposobów:

Usuwanie wersji zapoznawczych

W przypadku zarządzania instalacją .NET za pomocą menedżera pakietów może wystąpić konflikt, jeśli wcześniej zainstalowano wersję zapoznawcza. Menedżer pakietów może interpretować wydanie inne niż wersja zapoznawcza jako wcześniejszą wersję .NET. Aby zainstalować wersję inną niż wersja zapoznawcza, najpierw odinstaluj wersje zapoznawcza. Aby uzyskać więcej informacji na temat odinstalowywania .NET, zobacz Jak usunąć środowisko uruchomieniowe .NET i zestaw SDK.

Rozwiązywanie problemów

Począwszy od systemu Ubuntu 22.04, może wystąpić sytuacja, w której wydaje się, że jest dostępny tylko kawałek .NET. Na przykład środowisko uruchomieniowe i zestaw SDK zostały zainstalowane, ale po uruchomieniu dotnet --info tylko środowisko uruchomieniowe zostanie wyświetlone. Taka sytuacja może być związana z używaniem dwóch różnych źródeł pakietów. Wbudowane kanały pakietów Ubuntu 22.04 i Ubuntu 22.10 obejmują niektóre wersje .NET, ale nie wszystkie. Możliwe, że zainstalowałeś również .NET z kanałów firmy Microsoft. Aby uzyskać więcej informacji na temat rozwiązywania tego problemu, zobacz Rozwiązywanie problemów .NET błędów związanych z brakującymi plikami w systemie Linux.

Problemy z APT

Ta sekcja zawiera informacje na temat typowych błędów, które mogą wystąpić podczas instalowania .NET przy użyciu narzędzia APT.

Nie można odnaleźć pakietu

Ważne

Używanie menedżera pakietów do instalowania .NET z kanału pakietów Microsoft obsługuje wyłącznie architekturę x64. Inne architektury, takie jak Arm64, nie są obsługiwane przez źródło danych pakietów firmy Microsoft. Użyj kanałów informacyjnych systemu Ubuntu lub ręcznie zainstaluj .NET. Należy zachować ostrożność względem problemów z zamianą pakietów przy korzystaniu z wielu kanałów. Aby uzyskać więcej informacji, zobacz pomyłki pakietów .NET w systemie Linux.

Aby uzyskać więcej informacji na temat instalowania .NET without a package manager, zobacz jeden z następujących artykułów:

Nie można zlokalizować \ Nie można zainstalować niektórych pakietów

Uwaga

Ta informacja ma zastosowanie tylko wtedy, gdy .NET jest instalowany z źródła pakietów firmy Microsoft.

Jeśli zostanie wyświetlony komunikat o błędzie podobny do Nie można zlokalizować pakietu {dotnet-package} lub nie można zainstalować niektórych pakietów, uruchom następujące polecenia.

W poniższym zestawie poleceń znajdują się dwa symbole zastępcze.

  • {dotnet-package}
    Reprezentuje instalowany pakiet .NET, taki jak aspnetcore-runtime-8.0. Jest to używane w poniższym sudo apt-get install poleceniu.

Najpierw spróbuj przeczyścić listę pakietów:

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Następnie spróbuj ponownie zainstalować .NET. Jeśli to nie zadziała, możesz uruchomić ręczną instalację przy użyciu następujących poleceń:

Jeśli używasz systemu Ubuntu 23.10 lub nowszego, wypróbuj następujące polecenia:

# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Jeśli używasz wersji systemu Ubuntu wcześniejszej niż 23.10, spróbuj wykonać następujące polecenia:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Nie można pobrać

Podczas instalowania pakietu .NET może zostać wyświetlony błąd podobny do Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Ten błąd może oznaczać, że kanał informacyjny pakietu dla .NET jest uaktualniany przy użyciu nowszych wersji pakietów i należy spróbować ponownie później. Podczas uaktualniania kanał informacyjny pakietu nie powinien być niedostępny przez ponad 30 minut. Jeśli ten błąd jest stale wyświetlany przez ponad 30 minut, zgłoś problem pod adresem https://github.com/dotnet/core/issues.

Zależności

Podczas instalacji przy użyciu menedżera pakietów te biblioteki są instalowane automatycznie. Jeśli jednak ręcznie zainstalujesz .NET lub opublikujesz samodzielną aplikację, musisz zainstalować te zależności, aby uruchomić aplikację:

  • certyfikaty ca
  • libc6
  • libgcc1 (dla 16.x i 18.x)
  • libgcc-s1 (dla wersji 20.x lub nowszej)
  • libgssapi-krb5-2
  • libicu55 (dla 16.x)
  • libicu60 (dla 18.x)
  • libicu66 (dla 20.x)
  • libicu70 (dla 22.04)
  • libicu72 (dla 23,10)
  • libicu74 (dla 24.04)
  • libicu76 (dla wersji 25.04 lub nowszej)
  • libssl1.0.0 (dla 16.x)
  • libssl1.1 (dla 18.x, 20.x)
  • libssl3 (dla wersji 22.x lub nowszej)
  • libstdc++6
  • tzdata
  • zlib1g

Zależności można zainstalować za pomocą polecenia apt install. Poniższy fragment kodu przedstawia instalowanie zlib1g biblioteki:

sudo apt install zlib1g

Następne kroki