.NET SDK'sını veya .NET Çalışma Zamanı'nı SLES'e yükleme

.NET, SLES üzerinde desteklenir. Bu makalede SLES'e .NET'in nasıl yükleneceği açıklanmaktadır.

.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.

Desteklenen dağıtımlar

Aşağıdaki tablo, hem SLES 12 SP2 hem de SLES 15'te desteklenen .NET sürümlerinin listesidir. .NET sürümü destek sonuna ulaşana veya SLES sürümü artık desteklenmeyene kadar bu sürümler desteklenmeye devam eder.

SLES .NET
15 8, 7, 6
12 SP5 8, 7, 6

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

Ö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.

SLES 15

.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/sles/15/packages-microsoft-prod.rpm

Şu anda SLES 15 Microsoft deposu kurulum paketi microsoft-prod.repo dosyasını yanlış dizine yükleyerek zypper'ın .NET paketlerini bulmasını engelliyor. Bu sorunu çözmek için doğru dizinde bir symlink oluşturun.

sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo

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 zypper install dotnet-sdk-8.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 zypper install aspnetcore-runtime-8.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-8.0değiştirinaspnetcore-runtime-8.0:

sudo zypper install dotnet-runtime-8.0

SLES 12

.NET, SLES 12 ailesi için en az SP2 gerektirir.

.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/sles/12/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 zypper install dotnet-sdk-8.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 zypper install aspnetcore-runtime-8.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-8.0değiştirinaspnetcore-runtime-8.0:

sudo zypper install dotnet-runtime-8.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.

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.

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
  • libicu
  • libopenssl1_1

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 zypper install yüklenebilir. Aşağıdaki kod parçacığı kitaplığın yüklenmesini krb5 gösterir:

sudo zypper install krb5

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.

Sonraki adımlar