macOS'a .NET yükleme

Bu makalede macOS'ta .NET'i yüklemeyi öğreneceksiniz. .NET, çalışma zamanı ve SDK'lardan oluşur. Çalışma zamanı bir .NET uygulamasını çalıştırmak için kullanılır ve uygulamaya dahil edilebilir veya olmayabilir. SDK, .NET uygulamaları ve kitaplıkları oluşturmak için kullanılır. .NET çalışma zamanı her zaman SDK ile birlikte yüklenir.

.NET'in en son sürümü 8'dir.

Desteklenen sürümler

Desteklenen iki sürüm türü vardır: Uzun Süreli Destek (LTS) sürümleri ve Standart Terim Desteği (STS) sürümleri. Tüm sürümlerin kalitesi aynıdır. Tek fark desteğin uzunluğudur. LTS sürümleri üç yıl boyunca ücretsiz destek ve yamalar alır. STS sürümleri 18 ay boyunca ücretsiz destek ve yamalar alır. Daha fazla bilgi için bkz . .NET Destek İlkesi.

Aşağıdaki tablo, şu anda desteklenen .NET sürümlerinin ve desteklendiği macOS sürümlerinin listesidir:

İşletim Sistemi .NET 8 (LTS) .NET 7 (STS) .NET 6 (LTS)
macOS 14.0 "Sonoma" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 13.0 "Ventura" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 11.0 "Big Sur" ✔️ 7.0 ✔️ 6.0
macOS 10.15 "Catalina" ✔️ 7.0 ✔️ 6.0

.NET sürümlerinin ve destek yaşam döngüsünün tam listesi için bkz . .NET Destek İlkesi.

Desteklenmeyen sürümler

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

Çalışma zamanı bilgileri

Çalışma zamanı, .NET ile oluşturulan uygulamaları çalıştırmak için kullanılır. Uygulama yazarı bir uygulama yayımladığında, çalışma zamanını kendi uygulamasına ekleyebilir. Çalışma zamanını içermiyorlarsa, çalışma zamanını yüklemek kullanıcıya aittir.

macOS'a yükleyebileceğiniz iki farklı çalışma zamanı vardır:

  • ASP.NET Core çalışma zamanı
    ASP.NET Core uygulamalarını çalıştırır. .NET çalışma zamanını içerir.

  • .NET çalışma zamanı
    Bu çalışma zamanı en basit çalışma zamanıdır ve başka çalışma zamanı içermez. .NET uygulamalarıyla en iyi uyumluluk için ASP.NET Core çalışma zamanını yüklemeniz kesinlikle önerilir.

SDK bilgileri

SDK, .NET uygulamaları ve kitaplıkları derlemek ve yayımlamak için kullanılır. SDK'nın yüklenmesi her iki çalışma zamanını da içerir: ASP.NET Core ve .NET.

Noter tasdiki

macOS Catalina'dan (sürüm 10.15) başlayarak, 1 Haziran 2019'dan sonra oluşturulan ve Geliştirici Kimliği ile dağıtılan tüm yazılımların noter onaylı olması gerekir. Bu gereksinim .NET çalışma zamanı, .NET SDK'sı ve .NET ile oluşturulan yazılımlar için geçerlidir.

.NET için çalışma zamanı ve SDK yükleyicileri 18 Şubat 2020'den bu yana noter onaylıdır. Önceki sürümler noter onaylı değildir. Noter onaylı olmayan bir uygulama çalıştırırsanız aşağıdaki görüntüye benzer bir hata görürsünüz:

macOS Catalina noter tasdiki uyarısı

Zorunlu noter tasdiklileştirmenin .NET'i (ve .NET uygulamalarınızı) nasıl etkilediği hakkında daha fazla bilgi için bkz . macOS Catalina Notarization ile çalışma.

libgdiplus

System.Drawing.Common derlemesini kullanan .NET uygulamaları, libgdiplus'ın yüklenmesini gerektirir.

Libgdiplus edinmenin kolay bir yolu, macOS için Homebrew ("brew") paket yöneticisini kullanmaktır. Brew yükledikten sonra terminal (komut) isteminde aşağıdaki komutları yürüterek libgdiplus'ı yükleyin:

brew update
brew install mono-libgdiplus

Otomatik yükleme

macOS,.NET yüklemek için kullanılabilecek tek başına yükleyicilere sahiptir:

El ile yükleme

.NET için macOS yükleyicilerine alternatif olarak SDK'yı ve çalışma zamanını indirip el ile yükleyebilirsiniz. El ile yükleme genellikle sürekli tümleştirme testinin bir parçası olarak gerçekleştirilir. Bir geliştirici veya kullanıcı için yükleyici kullanmak genellikle daha iyidir.

Aşağıdaki sitelerden birinden SDK veya çalışma zamanı için ikili sürümü indirin. .NET SDK'sı ilgili çalışma zamanını içerir:

İndirilen dosyayı ayıklayın ve komutunu kullanarak export ayıklanan klasörün konumuna ayarlayın DOTNET_ROOT ve ardından .NET'in PATH içinde olduğundan emin olun. Dışarı aktarma, DOTNET_ROOT .NET CLI komutlarının terminalde kullanılabilir olmasını sağlar. .NET ortam değişkenleri hakkında daha fazla bilgi için bkz . .NET SDK ve CLI ortam değişkenleri.

.NET'in farklı sürümleri, yan yana bulunan aynı klasöre ayıklanabilir.

Örnek

Aşağıdaki komutlar, ortam değişkenini DOTNET_ROOT geçerli çalışma dizinine ve ardından .dotnetöğesine ayarlamak için Bash kullanır. Bu dizin yoksa oluşturulur. Ortam DOTNET_FILE değişkeni, yüklemek istediğiniz .NET ikili sürümünün dosya adıdır. Bu dosya dizine DOTNET_ROOT ayıklanır. DOTNET_ROOT Hem dizin hem tools de alt dizini ortam değişkenine PATH eklenir.

Önemli

Bu komutları çalıştırırsanız, değeri indirdiğiniz .NET ikili dosyasının adıyla değiştirmeyi DOTNET_FILE unutmayın.

DOTNET_FILE=dotnet-sdk-8.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

Aynı klasöre birden fazla .NET sürümü yükleyebilirsiniz.

.NET'i değişkeni veya ~ yolu tarafından tanımlanan giriş dizinine HOME de yükleyebilirsiniz:

export DOTNET_ROOT=$HOME/.dotnet

İndirilen ikili dosyaları doğrulama

Yükleyiciyi indirdikten sonra dosyanın değiştirilmediğinden veya bozulmadığından emin olmak için dosyayı doğrulayın. Bilgisayarınızda sağlama toplamını doğrulayabilir ve ardından indirme web sitesinde bildirilenlerle karşılaştırabilirsiniz.

Resmi bir indirme sayfasından bir yükleyici veya ikili dosya indirdiğinizde, dosyanın sağlama toplamı görüntülenir. Sağlama toplamı değerini panonuza kopyalamak için Kopyala düğmesini seçin.

Sağlama toplamı içeren .NET indirme sayfası

sha512sum İndirdiğiniz dosyanın sağlama toplamını yazdırmak için komutunu kullanın. Örneğin, aşağıdaki komut dotnet-sdk-8.0.100-linux-x64.tar.gz dosyasının sağlama toplamını bildirir:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

Sağlama toplamını indirme sitesi tarafından sağlanan değerle karşılaştırın.

Önemli

Bu örneklerde bir Linux dosyası gösteriliyor olsa da, bu bilgiler macOS için de aynı şekilde geçerlidir.

Doğrulamak için sağlama toplamı dosyası kullanma

.NET sürüm notları, indirilen dosyanızı doğrulamak için kullanabileceğiniz sağlama toplamı dosyasının bağlantısını içerir. Aşağıdaki adımlarda sağlama toplamı dosyasını indirme ve .NET yükleme ikili dosyasını doğrulama adımları açıklanmaktadır:

  1. GitHub'daki https://github.com/dotnet/core/tree/main/release-notes/8.0 .NET 8 sürüm notları sayfasında Releases adlı bir bölüm bulunur. Bu bölümdeki tablo, her .NET 8 sürümü için indirme ve sağlama toplamı dosyalarına bağlanır:

    .NET için github sürüm notları sürüm tablosu

  2. İndirdiğiniz .NET sürümünün bağlantısını seçin. Önceki bölümde .NET 8.0.0 sürümündeki .NET SDK 8.0.100 kullanılmıştır.

  3. Yayın sayfasında .NET Çalışma Zamanı ve .NET SDK sürümünü ve sağlama toplamı dosyasının bağlantısını görebilirsiniz:

    .NET için sağlama toplamları içeren indirme tablosu

  4. Sağlama toplamı dosyasının bağlantısını kopyalayın.

  5. Aşağıdaki betiği kullanın, ancak uygun sağlama toplamı dosyasını indirmek için bağlantıyı değiştirin:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Hem sağlama toplamı dosyası hem de .NET yayın dosyası aynı dizine indirilirken, indirilen dosyayı doğrulamak için komutunu kullanın sha512sum -c {file} --ignore-missing .

    Doğrulama başarılı olduğunda dosyanın Tamam durumuyla yazdırıldığını görürsünüz:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    BAŞARıSıZ olarak işaretlenmiş bir dosya görürseniz, indirdiğiniz dosya geçerli değildir ve kullanılmamalıdır.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Sistem genelinde ortam değişkenlerini ayarlama

El ile yükleme örneği bölümündeki yönergeleri kullandıysanız, ayarlanan değişkenler yalnızca geçerli terminal oturumunuza uygulanır. Bunları kabuk profilinize ekleyin. macOS için kullanılabilen birçok farklı kabuk vardır ve her birinin farklı bir profili vardır. Örneğin:

  • Bash Kabuğu: ~/.profile, /etc/profile
  • Korn Kabuğu: ~/.kshrc veya .profile
  • Z Kabuğu: ~/.zshrc veya .zprofile

Kabuk profilinizde aşağıdaki iki ortam değişkenini ayarlayın:

  • DOTNET_ROOT

    Bu değişken , .NET'in yüklendiği klasöre ayarlanır; örneğin $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Bu değişken hem klasörü DOTNET_ROOT/tools hem de DOTNET_ROOT klasörü içermelidir:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Arm tabanlı Mac'ler

Aşağıdaki bölümlerde Arm tabanlı Mac'e .NET yüklerken dikkat etmeniz gerekenler açıklanmaktadır.

Desteklenenler

Aşağıdaki tabloda Arm tabanlı Mac'te hangi .NET sürümlerinin desteklendiği açıklanmaktadır:

.NET Sürümü Mimari SDK Çalışma Zamanı Yol çakışması
8 Arm64 Yes Evet Hayır
8 x64 Yes Evet Hayır
7 Arm64 Yes Evet Hayır
7 x64 Yes Evet Hayır
6 Arm64 Yes Evet Hayır
6 x64 Yes Evet Hayır

.NET 6'dan başlayarak, .NET SDK'sının x64 ve Arm64 sürümleri birbirinden bağımsız olarak mevcuttur. Yeni bir sürüm yayınlanırsa, her yüklemenin yükseltilmesi gerekir.

Yol farklılıkları

Arm tabanlı Mac'te, .NET'in tüm Arm64 sürümleri normal /usr/local/share/dotnet/ klasörüne yüklenir. Ancak, .NET SDK'sının x64 sürümünü yüklediğinizde, /usr/local/share/dotnet/x64/dotnet/ klasörüne yüklenir.

Yol çakışmaları

.NET 6'dan başlayarak, x64 .NET SDK'sı önceki bölümde açıklandığı gibi kendi dizinine yüklenir. Bu, .NET SDK'sının Arm64 ve x64 sürümlerinin aynı makinede var olmasını sağlar. Bununla birlikte, .NET 6 öncesi herhangi bir x64 SDK'sı desteklenmez ve Arm64 sürümü olan /usr/local/share/dotnet/ klasörüyle aynı konuma yüklenir. Desteklenmeyen bir x64 SDK'sını yüklemek istiyorsanız, önce Arm64 sürümünü kaldırmanız gerekir. Bunun tersi de geçerlidir; Arm64 sürümünü yüklemek için desteklenmeyen x64 SDK'sını kaldırmanız gerekir.

Yol değişkenleri

.NET 6 SDK'sının PATH hem x64 hem de Arm64 sürümleri yüklüyse, .NET'i sistem yoluna ekleyen ortam değişkenlerinin (değişken gibi) değiştirilmesi gerekebilir. Ayrıca, bazı araçlar ortam değişkenine dayanır ve bu değişkenin DOTNET_ROOT uygun .NET 6 SDK yükleme klasörüne işaret edecek şekilde güncelleştirilmiş olması gerekir.

Mac için Visual Studio ile yükleme

Mac için Visual Studio .NET iş yükü seçildiğinde .NET SDK'sını yükler. macOS'ta .NET geliştirmeye başlamak için bkz . Mac için Visual Studio 2022'yi yükleme.

Önemli

Mac için Visual Studio kullanımdan kaldırılıyor. Daha fazla bilgi için bkz. Mac için Visual Studio neler oluyor?.

.NET SDK sürümü Visual Studio sürüm
8.0 Mac için Visual Studio 2022 17.6.1 veya üzeri. (Yalnızca önizleme özelliği olarak kullanılabilir.)
7.0 Mac için Visual Studio 2022 17.4 veya üzeri.
6,0 Mac için Visual Studio 2022 17.0 veya üzeri.

Mac için macOS Visual Studio 2022 ve .NET iş yükü seçili.

Önemli

Microsoft, Mac için Visual Studio kullanımdan kaldırıldığını duyurdu. Mac için Visual Studio artık 31 Ağustos 2024'den itibaren desteklenmeyecektir. Alternatifler şunlardır:

  • C# Dev Kit ile Visual Studio Code ve .NET MAUI ve Unity gibi ilgili uzantılar.
  • Mac'teki bir VM'de Windows üzerinde çalışan Visual Studio.
  • Bulutta bir VM'de Windows üzerinde çalışan Visual Studio.

Daha fazla bilgi için bkz. Mac için Visual Studio kullanımdan kaldırma duyurusu.

Visual Studio Code ile birlikte yükleme

Visual Studio Code, masaüstünüzde çalışan güçlü ve basit bir kaynak kodu düzenleyicisidir. Visual Studio Code, Windows, macOS ve Linux için kullanılabilir.

Visual Studio Code, Visual Studio'nun yaptığı gibi otomatik bir .NET yükleyicisi ile birlikte gelmese de, .NET desteği eklemek kolaydır.

  1. Visual Studio Code'u indirin ve yükleyin.
  2. .NET SDK'sını indirip yükleyin.
  3. Visual Studio Code marketinden C# uzantısını yükleyin.

Bash otomasyonu ile yükleme

dotnet-install betikleri, çalışma zamanının otomasyon ve yönetici olmayan yüklemeleri için kullanılır. Betiği dotnet-install betik başvurusu sayfasından indirebilirsiniz.

Betik varsayılan olarak .NET 8 olan en son uzun vadeli destek (LTS) sürümünü yükler. Anahtarı belirterek channel belirli bir sürümü seçebilirsiniz. runtime Çalışma zamanı yüklemek için anahtarını ekleyin. Aksi takdirde betik SDK'yı yükler.

Aşağıdaki komut, en yüksek uyumluluk için ASP.NET Core çalışma zamanını yükler. ASP.NET Core çalışma zamanı standart .NET çalışma zamanını da içerir.

./dotnet-install.sh --channel 8.0 --runtime aspnetcore

Docker

Kapsayıcılar, uygulamanızı konak sisteminin geri kalanından yalıtmak için basit bir yol sağlar. Aynı makinedeki kapsayıcılar yalnızca çekirdeği paylaşır ve uygulamanıza verilen kaynakları kullanır.

.NET bir Docker kapsayıcısında çalıştırılabilir. Resmi .NET Docker görüntüleri Microsoft Container Registry'de (MCR) yayımlanır ve Microsoft .NET Docker Hub deposunda bulunabilir. Her depo, kullanabileceğiniz farklı .NET (SDK veya Çalışma Zamanı) ve işletim sistemi birleşimleri için görüntüler içerir.

Microsoft, belirli senaryolar için uyarlanmış görüntüler sağlar. Örneğin ASP.NET Core deposu, ASP.NET Core uygulamalarını üretim ortamında çalıştırmak için oluşturulmuş görüntüler sağlar.

Docker kapsayıcısında .NET kullanma hakkında daha fazla bilgi için bkz . .NET ve Docker'a giriş ve Örnekler.

Sonraki adımlar