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:
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/dotnet
yeni 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. |
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.
- Visual Studio Code indirip yükleyin.
- .NET SDK'sını indirip yükleyin.
- 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.