.NET Kullanımı
ServBay, macOS üzerinde .NET geliştiricileri için pratik ve verimli bir geliştirme ortamı sunar. ServBay'in paket yönetim sistemi sayesinde, hem modern .NET (yani .NET Core ve sonraki sürümler) hem de klasik Mono framework dahil olmak üzere birden fazla .NET SDK sürümünü kolayca yükleyebilir, yönetebilir ve çalıştırabilirsiniz. Böylece farklı projelerin ihtiyaçlarına zahmetsizce uyum sağlayabilirsiniz.
Genel Bakış
.NET Platformu Tarihçesi ve macOS Desteği
.NET, Microsoft tarafından geliştirilen çok yönlü bir geliştirme platformudur. Geçmişi ve sürüm evrimi, macOS üzerindeki desteği anlamak açısından önemlidir:
.NET Framework (Orijinal Sürüm): 2002’de piyasaya sürülen .NET Framework, Microsoft’un temel geliştirme platformu olup, ağırlıklı olarak Windows için tasarlanmıştır. Ortak Dil Çalışma Zamanı (CLR) ve zengin bir sınıf kitaplığı (FCL) içerir. .NET Framework uygulamalarını doğrudan macOS’ta çalıştırmak genellikle mümkün değildir.
Mono (Çapraz Platform Öncüsü): .NET uygulamalarını Linux ve macOS gibi Windows dışı platformlara taşımak için, topluluk (ilk olarak Ximian, ardından Novell ve Xamarin/Microsoft tarafından desteklenmiştir) Mono'yu geliştirdi. Mono, .NET Framework’ün açık kaynaklı, çapraz platform bir uyarlamasıdır. Bu sayede geliştiriciler macOS ve Linux üzerinde C# ağırlıklı .NET Framework uygulamaları geliştirebilir ve çalıştırabilir. Özellikle macOS'ta eski .NET Framework uygulamaları veya kütüphanelerini çalıştırmak için Mono hâlâ değerlidir.
.NET Core / .NET 5+ (Modern Çapraz Platform Standardı): Microsoft, platformlar arası ihtiyaçları görerek .NET Core’u sıfırdan tasarladı; bu modern, yüksek performanslı, açık kaynak kodlu ve tam çapraz platform bir .NET çözümüdür ve Windows, macOS ve Linux’u destekler. .NET Core 3.1 sonrası, Microsoft bu platformu .NET olarak yeniden isimlendirdi (sürüm 5 ile birlikte, .NET Framework 4.x ile karışmaması için 4 atlandı). Artık .NET SDKdan bahsederken kastedilen genellikle bu modern, çapraz platform sürümüdür (.NET 5, 6, 7, 8, 9, 10 v.b.). Microsoft tüm yeni uygulama geliştirmeleri için, macOS dahil, bu platformu tavsiye etmektedir.
ServBay’de .NET Desteği
ServBay, .NET’in bu tarihçesini ve geliştiricilerin çeşitli gereksinimlerini göz önünde bulundurarak şunları sağlar:
- Modern .NET SDK Paketleri: .NET (Core)‘un tüm önemli sürümleri (ör. .NET SDK 2.0’dan 10.0’a kadar) ile en yeni C#, F# ve ASP.NET Core uygulamalarını çapraz platform geliştirme imkânı sağlar.
- Mono Paketleri: macOS üzerinde çalıştırılması veya geliştirilmesi gereken .NET Framework tabanlı eski projeler ve belirli kütüphaneler için Mono çalışma zamanı (ör. Mono 6) sunulur. Eski ASP.NET (Web Forms, System.Web MVC) desteği de sınırlı olarak mevcuttur.
- Paralel Kurulum: Birden fazla .NET SDK ve Mono sürümünü aynı anda yükleyebilirsiniz.
- Proje Bazlı Sürüm Kontrolü: Her proje için istenen modern .NET SDK sürümü
.servbay.config
dosyasıyla belirtilir. - Kolay Yönetim: ServBay’in grafik arayüzü sayesinde istediğiniz SDK ve Mono sürümünü hızlıca görüntüleyebilir, yükleyebilir ya da kaldırabilirsiniz.
.NET Paketlerine Erişim
- ServBay uygulamasını açın.
- Sol menüde
Paketler (Packages)
seçeneğine tıklayın. Paketler
sayfasında aşağı kaydırın veya sol alt detay listesindenLanguages
->.NET
yolunu takip edin.- Sağdaki panelde, mevcut tüm .NET SDK ve Mono paketlerinin listesini göreceksiniz.
.NET SDK Kurulumu
Paket listesinde her .NET SDK sürümünün durumu net şekilde gösterilir:
- Paket Adı: Paket ismi, örneğin
.NET SDK 8.0
veyaMono 6
. - Sürüm: Belirli paket sürüm numarası.
- Durum:
Installed
(Kurulu) veyaNot Installed
(Kurulu Değil) olarak gösterilir. - Kontrol: İşlem düğmeleri bulunur.
Henüz kurulu olmayan bir .NET SDK sürümünü (ör. .NET SDK 10.0
) yüklemek için:
- Listeden istediğiniz sürümü bulun.
- Durumunun
Not Installed
olduğundan emin olun. - Satırın en sağındaki İndir/Yükle (Download/Install) ikonuna (genellikle aşağı ok) tıklayın.
- ServBay seçili SDK sürümünü indirmeye ve yüklemeye başlar. Bu işlem, internet hızınıza ve SDK boyutuna bağlı olarak birkaç dakika sürebilir.
- Kurulum tamamlandığında, paketin durumu
Installed
(Kurulu) olarak değişir ve kontrol simgesi Kaldır (Uninstall) (çöp kutusu) olur.
Kurulu SDK’ların Yönetimi
- Yüklü Sürümleri Görüntüle: Listede
Installed
olarak işaretlenen tüm .NET SDK ve Mono sürümleri mevcut ortamda kurulduğu anlamına gelir. - SDK Kaldırma: Artık ihtiyacınız olmayan bir SDK sürümünü kaldırmak için, ilgili satırdaki Kaldır (Uninstall) ikonuna (çöp kutusu) tıklayın ve işlemi onaylayın. Paket sistemden silinecektir.
Kurulu .NET SDK’larının Kullanımı
ServBay .NET SDK’sını yükledikten sonra, ilgili dotnet
komut satırı aracını PATH ortam değişkenine ekler (ServBay ortamı aktifleştirildiğinde). Böylece macOS Terminal'de doğrudan dotnet
komutunu kullanabilirsiniz.
Sık Kullanılan Komutlara Örnekler:
Kullanılabilir SDK Sürümlerini Kontrol Etme: Terminali açın ve şunu çalıştırın:
bashdotnet --list-sdks
1Bu komut, ServBay tarafından kurulan tüm .NET SDK sürümlerini ve yolunu listeler.
Aktif SDK Sürümü Kontrolü (genellikle en son kurulu veya global ayarlı sürüm):
bashdotnet --version
1Yeni Bir Konsol Uygulaması Oluşturma (varsayılan SDK ile):
bash# MyConsoleApp adlı bir dizin oluşturun mkdir MyConsoleApp cd MyConsoleApp # Varsayılan SDK ile yeni bir konsol projesi oluşturun dotnet new console
1
2
3
4
5
6Uygulamayı Çalıştırma:
bashdotnet run
1Belirli SDK Sürümünü Kullanma (gerekiyorsa): Projeniz özel bir SDK sürümü gerektiriyorsa,
global.json
ile belirleyebilirsiniz. Proje ana dizinine aşağıdaki gibi birglobal.json
dosyası ekleyin:json{ "sdk": { "version": "8.0.408" // Kurulu olan ve projenizin gerektirdiği SDK sürümünü belirtin } }
1
2
3
4
5Sonrasında o projede
dotnet
komutunu çalıştırdığınızda, dosyadaki sürüm öncelikli kullanılır.
Mono Desteği
ServBay, standart .NET SDK’lara ek olarak Mono yükleme seçeneği de sunar. Mono, .NET Framework’ün açık kaynak ve çapraz platform uyarlamasıdır. .NET Framework’e özgü bazı uygulamaları çalıştırmak veya geliştirmek için ServBay üzerinden Mono yükleyip kullanabilirsiniz. Mono’yu kurup kaldırmak, .NET SDK ile aynıdır.
Mono çoğunlukla .NET Framework için derlenen programları (.exe
dosyası) çalıştırmak veya Mono gerektiren araçları kullanmak için kullanılır; ayrıca eski ASP.NET uygulamalarının çalıştırılması da mümkündür.
Mono Sürümünü Kontrol Etme:
bashmono --version
1.NET Framework Çalıştırılabilir Dosyası Çalıştırma: Örneğin .NET Framework için derlenmiş
LegacyApp.exe
dosyanız varsa:bashmono LegacyApp.exe
1Eski ASP.NET Uygulaması Çalıştırma (Sınırlı Destek): Mono,
xsp
adlı basit bir web sunucusu içerir; bu sayede eski ASP.NET Web Forms veya System.Web MVC uygulamaları geliştirme ortamında çalıştırılabilir. Ayrıca,Nginx
+FastCGI
veyaApache
+mod_mono
entegrasyonu da mümkündür.Önemli Notlar:
- Bu yöntemin ASP.NET Framework uyumluluğu sınırlıdır – özellikle Windows’a özgü olan uygulamalar sorunsuz çalışmayabilir.
- Performans genellikle Windows/IIS üzerinde çalıştırmadan daha düşük olabilir.
- Yeni projeler için önerilmez. Modern web geliştirme için ASP.NET Core kullanılmalıdır.
- ServBay, ASP.NET Framework 4.x sitelerinin macOS'ta çalıştırılması hakkında ayrıntılı dokümantasyon sunmaktadır: macOS’ta ASP.NET Framework 4.x sitesini çalıştırmak için ayrıntılı rehber.
Eğer çalıştırmanız gerekirse (örneğin test veya bakım için), tipik bir komut örneği (uygulamanıza ve yapılandırmanıza göre değişiklik gösterebilir):
bash# Örnek: Belirli bir dizinde xsp sunucusunu başlatın # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (.NET 4.x ile uyumlu xsp4)
1
2
3
Entegre Web Sunucusu (ASP.NET Core)
ServBay ile yüklenen .NET SDK’lar sayesinde ASP.NET Core web uygulamaları geliştirebilirsiniz. Bu uygulamaları dağıtırken ServBay’in yerleşik web sunucularını (Nginx, Caddy, Apache gibi) kullanmanız mümkündür:
dotnet publish
komutuyla ASP.NET Core uygulamanızı yayınlayın.- ServBay içinde yeni bir web sitesi (Website) ekleyin.
- Bu siteyi, gelen istekleri ASP.NET Core uygulamanızın çalıştığı Kestrel portuna (ör.
http://localhost:5000
) yönlendirecek şekilde yapılandırın. Gerekli ters proxy yapılandırması kullandığınız web sunucusuna (Nginx, Caddy veya Apache) göre değişecektir.
Ayrıntılı ters proxy kurulumu ve web sitesi ekleme ayarları için ServBay’in ilgili dökümantasyonuna başvurunuz.
Özet
ServBay, macOS üzerinde .NET geliştirme ortamının kurulmasını ve yönetilmesini büyük ölçüde kolaylaştırır. Sezgisel arayüzü sayesinde geliştiriciler, birden fazla .NET SDK ve Mono sürümünü kolayca yükleyebilir, geçiş yapabilir ve kaldırabilir; böylece C#, F# ve ASP.NET Core uygulama geliştirme ve testine odaklanabilirler.