macOS'ta .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ü 7'dir.

Desteklenen sürümler

İki tür desteklenen sürüm vardır: Uzun Süreli Destek (LTS) sürümleri veya Standart Terim Desteği (STS). Tüm sürümlerin kalitesi aynıdır. Tek fark, desteğin uzunluğudur. LTS sürümleri 3 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:

Operating System .NET 7 (STS) .NET 6 (LTS)
macOS 13.0 "Ventura" ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 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

.NET'in ❌ aşağıdaki 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 dahil edebilir. Ç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ı ç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 derlenen 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 tasdikini .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

Yükleyiciyle yükleme

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

İndirme ve 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.

İlk olarak, aşağıdaki sitelerden birinden SDK veya çalışma zamanı için ikili bir yayın indirin. .NET SDK'sını yüklerseniz ilgili çalışma zamanını yüklemeniz gerekmez:

Ardından, indirilen dosyayı ayıklayın ve ayıklanan klasörün konumuna ayarlamak DOTNET_ROOT için komutunu kullanın export ve ardından .NET'in PATH içinde olduğundan emin olun. Bu, .NET CLI komutlarını terminalde kullanılabilir hale getirmelidir.

Alternatif olarak, .NET ikili dosyası indirildikten sonra, çalışma zamanını ayıklamak için dosyanın kaydedildiği dizinden aşağıdaki komutlar çalıştırılabilir. Bu, .NET CLI komutlarını terminalde kullanılabilir hale getirir ve gerekli ortam değişkenlerini ayarlar. Değeri indirilen ikili dosya DOTNET_FILE adıyla değiştirmeyi unutmayın:

DOTNET_FILE=dotnet-sdk-7.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

İpucu

Yukarıdaki export komutlar yalnızca çalıştırıldığı terminal oturumu için .NET CLI komutlarını kullanılabilir hale getirir.

Kabuk profilinizi düzenleyerek komutları kalıcı olarak ekleyebilirsiniz. Linux için kullanılabilecek bir dizi farklı kabuk vardır ve her birinin farklı bir profili vardır. Örnek:

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

Kabuğunuz için uygun kaynak dosyayı düzenleyin ve var olan PATH deyiminin sonuna ekleyin:$HOME/dotnet. Deyimi dahil PATH değilse, ile export PATH=$PATH:$HOME/dotnetyeni bir satır ekleyin.

Ayrıca, dosyanın sonuna ekleyin export DOTNET_ROOT=$HOME/dotnet .

Bu yaklaşım, farklı sürümleri ayrı konumlara yüklemenize ve hangisinin hangi uygulama tarafından kullanılacağını açıkça seçmenize olanak tanır.

Kol tabanlı Mac'ler

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

Desteklenen durumlar

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ı
7 Arm64 Evet Evet Hayır
7 x64 Evet Evet Hayır
6 Arm64 Evet Evet Hayır
6 x64 Evet 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 7 SDK'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'nın Arm64 ve x64 sürümlerinin aynı makinede var olmasını sağlar. Ancak, .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 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, değişken gibi sistem yoluna .NET ekleyen ortam değişkenlerinin değiştirilmesi gerekebilir. Ayrıca, bazı araçlar ortam değişkenini kullanı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 üzerinde .NET geliştirmeye başlamak için bkz. Mac için Visual Studio 2019'u yükleme.

.NET SDK sürümü Visual Studio sürüm
7.0 Mac için Visual Studio 2022 17.4 veya üzeri.
6.0 Mac için Visual Studio 2022 Preview 3 17.0 veya üzeri.
3,1 Mac için Visual Studio 2019 sürüm 8.4 veya üzeri.

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

Visual Studio Code 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 gelmese de, .NET desteği eklemek kolaydır.

  1. Visual Studio Code indirip 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şvuru sayfasından indirebilirsiniz.

Betik varsayılan olarak .NET 6 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 7.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 bileş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 üretimde ASP.NET Core uygulamaları ç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