CentOS Linux'ta .NET SDK'sını veya .NET Çalışma Zamanı'nı yükleme

.NET, CentOS Linux'ta desteklenir. Bu makalede CentOS Linux'ta .NET'in nasıl yükleneceği açıklanmaktadır. .NET'i CentOS Stream'e yüklemeniz gerekiyorsa bkz . RHEL ve CentOS Stream'e .NET SDK'sını veya .NET Çalışma Zamanı'nı yükleme.

.NET uygulamaları geliştirmek istiyorsanız SDK'yi (çalışma zamanını da içerir) yükleyin. Ya da yalnızca uygulamaları çalıştırmanız gerekiyorsa Çalışma Zamanı'nı yükleyin. Çalışma Zamanını yüklüyorsanız hem .NET hem de ASP.NET Core çalışma zamanlarını içerdiğinden ASP.NET Core Runtime'ı yüklemenizi öneririz.

Hangi sürümlerin dotnet --list-sdks yüklü olduğunu görmek için ve dotnet --list-runtimes komutlarını kullanın. Daha fazla bilgi için bkz . .NET'in zaten yüklü olup olmadığını denetleme.

Önemli

Microsoft paket akışından .NET yüklemek için paket yöneticisi kullanmak yalnızca x64 mimarisini destekler. Arm gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez.

.NET'i paket yöneticisi olmadan yükleme hakkında daha fazla bilgi için aşağıdaki makalelerden birine bakın:

Desteklenen dağıtımlar

Aşağıdaki tablo, CentOS Linux 7'de şu anda desteklenen .NET sürümlerinin listesidir. .NET sürümü destek sonuna ulaşana veya CentOS Linux sürümü artık desteklenmeyene kadar bu sürümler desteklenmeye devam eder.

CentOS Linux .NET
7 7, 6

Uyarı

CentOS Linux 8, 31 Aralık 2021'de erken bir Kullanım Süresi Sonuna (EOL) ulaştı. Daha fazla bilgi için resmi CentOS Linux EOL sayfasına bakın. Bu nedenle CentOS Linux 8'de .NET desteklenmez.

Aşağıdaki .NET ❌ sürümleri artık desteklenmiyor:

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

Önemli

Microsoft paket akışından .NET yüklemek için paket yöneticisi kullanmak yalnızca x64 mimarisini destekler. Arm gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez.

.NET'i paket yöneticisi olmadan yükleme hakkında daha fazla bilgi için aşağıdaki makalelerden birine bakın:

Önizleme sürümlerini yükleme

.NET'in önizleme ve sürüm adayı sürümleri paket depolarında kullanılamaz. .NET'in önizlemelerini ve sürüm adaylarını aşağıdaki yollardan biriyle yükleyebilirsiniz:

Önizleme sürümlerini kaldırma

.NET yüklemenizi yönetmek için paket yöneticisi kullanırken, daha önce bir önizleme sürümü yüklediyseniz bir çakışmayla karşılaşabilirsiniz. Paket yöneticisi önizleme dışı sürümü .NET'in önceki bir sürümü olarak yorumlayamayabilir. Önizleme olmayan sürümü yüklemek için önce önizleme sürümlerini kaldırın. .NET'i kaldırma hakkında daha fazla bilgi için bkz . .NET Çalışma Zamanı ve SDK'sını kaldırma.

CentOS Linux 7

.NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilen anahtarlar listenize ekleyin ve Microsoft paket deposunu ekleyin. Bir terminal açın ve aşağıdaki komutları çalıştırın:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

SDK’yı yükleyin

.NET SDK,.NET ile uygulama geliştirmenizi sağlar. .NET SDK'sını yüklerseniz ilgili çalışma zamanını yüklemeniz gerekmez. .NET SDK'sını yüklemek için aşağıdaki komutu çalıştırın:

sudo yum install dotnet-sdk-7.0

Çalışma zamanını yükleme

ASP.NET Core Runtime, çalışma zamanını sağlamayan .NET ile yapılmış uygulamaları çalıştırmanıza olanak tanır. Aşağıdaki komut, .NET için en uyumlu çalışma zamanı olan ASP.NET Core Runtime'ı yükler. Terminalinizde aşağıdaki komutu çalıştırın:

sudo yum install aspnetcore-runtime-7.0

ASP.NET Core Runtime'a alternatif olarak, ASP.NET Core desteği içermeyen .NET Çalışma Zamanı'nı yükleyebilirsiniz: önceki komutta şununla dotnet-runtime-7.0değiştirinaspnetcore-runtime-7.0:

sudo yum install dotnet-runtime-7.0

Diğer sürümleri yükleme

.NET'in tüm sürümleri adresinden https://dotnet.microsoft.com/download/dotnetindirilebilir ancak el ile yükleme gerektirir. .NET'in farklı bir sürümünü yüklemek için paket yöneticisini kullanmayı deneyebilirsiniz. Ancak, istenen sürüm kullanılamayabilir.

Paket yöneticisi akışlarına eklenen paketler, ele geçirilebilir biçimde adlandırılır, örneğin: {product}-{type}-{version}.

  • Ürün
    Yüklenecek .NET ürününün türü. Geçerli seçenekler şunlardır:

    • dotnet
    • aspnetcore
  • type
    SDK'yı veya çalışma zamanını seçer. Geçerli seçenekler şunlardır:

    • sdk(yalnızca dotnet ürünü için kullanılabilir)
    • runtime
  • version
    Yüklenecek SDK veya çalışma zamanının sürümü. Geçerli seçenekler, aşağıdakiler gibi herhangi bir yayın sürümüdür:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    İndirmeye çalıştığınız SDK/çalışma zamanı Linux dağıtımınızda kullanılamıyor olabilir. Desteklenen dağıtımların listesi için bkz . Linux'ta .NET yükleme.

Örnekler

  • ASP.NET Core 8.0 çalışma zamanını yükleyin: aspnetcore-runtime-8.0
  • .NET Core 2.1 çalışma zamanını yükleyin: dotnet-runtime-2.1
  • .NET 5 SDK'sını yükleyin: dotnet-sdk-5.0
  • .NET Core 3.1 SDK'sını yükleyin: dotnet-sdk-3.1

Not

Bazı paketler Linux dağıtımınızda kullanılamayabilir.

Paket eksik

Paket sürümü bileşimi çalışmazsa kullanılamaz. Örneğin, ASP.NET Core SDK'sı yoktur. ASP.NET Core için SDK bileşenleri .NET SDK'sı ile birlikte sunulur. Değer aspnetcore-sdk-8.0 yanlış ve olmalıdır dotnet-sdk-8.0. .NET tarafından desteklenen Linux dağıtımlarının listesi için bkz . .NET bağımlılıkları ve gereksinimleri.

Paket yöneticisi sorunlarını giderme

Bu bölüm, .NET yüklemek için paket yöneticisini kullanırken karşılaşabileceğiniz yaygın hatalar hakkında bilgi sağlar.

Paket bulunamıyor

Önemli

Microsoft paket akışından .NET yüklemek için paket yöneticisi kullanmak yalnızca x64 mimarisini destekler. Arm gibi diğer mimariler Microsoft paket akışı tarafından desteklenmez.

.NET'i paket yöneticisi olmadan yükleme hakkında daha fazla bilgi için aşağıdaki makalelerden birine bakın:

Getirilemedi

.NET paketini yüklerken, benzeri signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'bir hata görebilirsiniz. Genel olarak bakıldığında, bu hata .NET için paket akışının daha yeni paket sürümleriyle yükseltildiği ve daha sonra yeniden denemeniz gerektiği anlamına gelir. Yükseltme sırasında paket akışı 2 saatten fazla kullanılamamalıdır. Bu hatayı 2 saatten uzun bir süre boyunca sürekli alıyorsanız lütfen adresine https://github.com/dotnet/core/issuesbir sorun bildirin.

Bu sorunları çözme hakkında daha fazla bilgi için bkz. , ve FrameworkList.xml hatalarını gidermefxrlibhostfxr.so.

Bağımlılıklar

Paket yöneticisiyle yüklediğinizde, bu kitaplıklar sizin için yüklenir. Ancak, .NET'i el ile yüklerseniz veya bağımsız bir uygulama yayımlarsanız, bu kitaplıkların yüklendiğinden emin olmanız gerekir:

  • krb5-libs
  • libicu
  • openssl-libs
  • Zlib

Hedef çalışma zamanı ortamının OpenSSL sürümü 1.1 veya daha yeniyse yüklemeniz gerekir compat-openssl10.

Bağımlılıklar komutuyla yum install yüklenebilir. Aşağıdaki kod parçacığı kitaplığın yüklenmesini libicu gösterir:

sudo yum install libicu

Bağımlılıklar hakkında daha fazla bilgi için bkz . Bağımsız Linux uygulamaları.

.NET uygulaması System.Drawing.Common derlemesini kullanıyorsa libgdiplus'ın da yüklenmesi gerekir. System.Drawing.Common artık Linux'ta desteklenmediğinden, bu yalnızca .NET 6'da çalışır ve çalışma zamanı yapılandırma anahtarının System.Drawing.EnableUnixSupport ayarlanmasını gerektirir.

Mono deposunu sisteminize ekleyerek libgdiplus'ın son sürümünü yükleyebilirsiniz.

Sonraki adımlar