Praca z .NET
ServBay dostarcza programistom .NET na macOS wydajne i intuicyjne środowisko do pracy. Dzięki systemowi zarządzania pakietami ServBay możesz z łatwością instalować, zarządzać oraz uruchamiać wiele wersji .NET SDK — zarówno nowoczesnego .NET (czyli .NET Core i nowszych), jak i klasycznej platformy Mono, aby sprostać wymaganiom różnych projektów.
Przegląd
Historia platformy .NET i wsparcie na macOS
.NET to wszechstronna platforma deweloperska stworzona przez Microsoft. Zrozumienie jej historii i ewolucji wersji jest kluczowe dla pracy na macOS:
.NET Framework (pierwotna wersja): Premiera .NET Framework miała miejsce w 2002 roku jako flagowy produkt Microsoftu, lecz był on przeznaczony głównie dla systemów Windows. Obejmuje on Common Language Runtime (CLR) oraz szeroką bazę klas (FCL). Uruchomienie aplikacji .NET Framework bezpośrednio na macOS jest zazwyczaj niemożliwe.
Mono (prekursor multiplatformowości): Aby umożliwić działanie aplikacji .NET na innych systemach (np. Linux, macOS), społeczność (inicjatywa Ximian, następnie zarządzana przez Novell, Xamarin oraz Microsoft) stworzyła Mono. Mono to otwartoźródłowa, wieloplatformowa implementacja .NET Framework. Dzięki niej można tworzyć i uruchamiać aplikacje .NET Framework, zwłaszcza te napisane w C#, na macOS i Linuksie. Warto rozważyć Mono, jeśli musisz uruchomić starsze aplikacje .NET Framework lub biblioteki na macOS — ta technologia wciąż pozostaje użyteczna.
.NET Core / .NET 5+ (nowoczesny standard wieloplatformowy): Microsoft zaprojektował .NET Core od zera, stawiając na nowoczesność, wysoką wydajność, otwartość i pełną multiplatformowość (Windows, macOS, Linux). Po wersji .NET Core 3.1, nazwę przekonwertowano na .NET (od wersji 5; pominięto 4, by nie mylić z .NET Framework 4.x). Gdy obecnie mówimy o .NET SDK, zazwyczaj mamy na myśli właśnie ten nowoczesny, multiplatformowy runtime (.NET 5, 6, 7, 8, 9, 10 itd.). To polecana opcja dla każdego nowego projektu — również na macOS.
Obsługa .NET w ServBay
ServBay rozumie tę ewolucję .NET oraz zróżnicowane potrzeby programistów, dlatego zapewnia:
- Nowoczesne pakiety .NET SDK: Różne wersje .NET (Core), np. .NET SDK od 2.0 do 10.0, pozwalając korzystać z najnowszych możliwości C#, F# oraz ASP.NET Core w środowiskach wieloplatformowych.
- Pakiety Mono: Oferuje środowisko uruchomieniowe Mono (np. Mono 6), by wspierać starsze projekty lub biblioteki bazujące na .NET Framework, które wymagają uruchamiania na macOS, włącznie z ograniczonym wsparciem dla starszych wersji ASP.NET (Web Forms, System.Web MVC).
- Instalacje równoległe: Możesz mieć równocześnie wiele wersji .NET SDK i Mono.
- Kontrola wersji na poziomie projektu: Dzięki plikowi
.servbay.config
określisz docelową wersję nowoczesnego .NET SDK dla każdego projektu oddzielnie. - Łatwe zarządzanie: Przejrzysty interfejs graficzny ServBay pozwala wygodnie przeglądać, instalować i usuwać wybrane wersje SDK i Mono.
Dostęp do pakietów .NET
- Otwórz aplikację ServBay.
- W lewym panelu nawigacyjnym kliknij
Pakiety (Packages)
. - Na stronie
Pakiety
przewiń w dół lub w bocznej liście wybierzLanguages
->.NET
. - Po prawej stronie pojawi się lista dostępnych SDK .NET i pakietów Mono.
Instalacja .NET SDK
Lista pakietów jasno pokazuje status każdej wersji .NET SDK:
- Nazwa pakietu: Nazwa, np.
.NET SDK 8.0
lubMono 6
. - Wersja: Szczegółowy numer wersji danego pakietu.
- Status: Wyświetla
Zainstalowany
(Installed) lubNie zainstalowany
(Not Installed). - Sterowanie: Przycisk akcji do instalacji lub usunięcia.
Aby zainstalować jeszcze nieobecną wersję .NET SDK (np. .NET SDK 10.0
):
- Znajdź odpowiednią wersję na liście.
- Upewnij się, że jej status to
Nie zainstalowany
. - Kliknij ikonę pobierania/instalacji (Download/Install) po prawej stronie (najczęściej to strzałka w dół).
- ServBay pobierze i zainstaluje wybrane SDK. Czas trwania zależy od szybkości połączenia internetowego i rozmiaru pakietu.
- Po udanej instalacji status zmieni się na
Zainstalowany
, a przycisk będzie przedstawiał ikonę usunięcia (Uninstall) (kosz).
Zarządzanie zainstalowanymi SDK
- Przegląd wersji: Status
Zainstalowany
na liście jasno pokazuje, które wersje .NET SDK i Mono są obecnie dostępne w Twoim środowisku. - Deinstalacja SDK: Jeśli któraś wersja SDK nie jest Ci już potrzebna, kliknij ikonę usunięcia (Uninstall) (kosz) obok danej pozycji i potwierdź czynność, aby usunąć ją z systemu.
Korzystanie z zainstalowanego .NET SDK
Po instalacji ServBay zwykle dodaje narzędzie wiersza poleceń dotnet
do zmiennej środowiskowej PATH (gdy środowisko ServBay jest aktywne). Dzięki temu możesz używać polecenia dotnet
bezpośrednio w Terminalu na macOS.
Przykładowe polecenia:
Wyświetlenie dostępnych wersji SDK: Otwórz Terminal i wpisz:
bashdotnet --list-sdks
1To pokazuje wszystkie wersje .NET SDK zainstalowane i zarządzane przez ServBay oraz ich ścieżki.
Sprawdzenie aktywnej wersji SDK (zwykle najnowsza lub globalnie skonfigurowana):
bashdotnet --version
1Tworzenie nowej aplikacji konsolowej (domyślne SDK):
bash# Utwórz katalog projektu MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Utwórz nowy projekt konsolowy za pomocą domyślnego SDK dotnet new console
1
2
3
4
5
6Uruchomienie aplikacji:
bashdotnet run
1Korzystanie z określonej wersji SDK (jeśli wymagane): Gdy projekt wymaga konkretnej wersji SDK, możesz określić ją w pliku
global.json
. W katalogu głównym projektu utwórz plik o takiej zawartości:json{ "sdk": { "version": "8.0.408" // Wpisz wersję SDK, którą masz zainstalowaną i która jest wymagana przez projekt } }
1
2
3
4
5W tym katalogu polecenia
dotnet
będą domyślnie korzystały z wersji wskazanej wglobal.json
.
Wsparcie dla Mono
Oprócz standardowego .NET SDK, ServBay pozwala także zainstalować Mono – otwartą, wieloplatformową implementację .NET Framework. Sięgnij po Mono, gdy musisz uruchomić lub rozwijać aplikacje zależne od określonych funkcji .NET Framework. Instalacja i usuwanie Mono działa identycznie jak w przypadku SDK .NET.
Mono szczególnie przydaje się do uruchamiania programów skompilowanych dla .NET Framework (.exe
) lub korzystania z narzędzi, które wymagają środowiska Mono, a także do uruchamiania starszych aplikacji ASP.NET.
Sprawdzenie wersji Mono:
bashmono --version
1Uruchomienie pliku wykonywalnego .NET Framework: Załóżmy, że masz program
LegacyApp.exe
skompilowany dla .NET Framework:bashmono LegacyApp.exe
1Uruchamianie starszych aplikacji ASP.NET (ograniczone wsparcie): Mono dostarcza prosty serwer WWW o nazwie
xsp
, który w środowisku developerskim pozwala uruchamiać stare projekty ASP.NET Web Forms lub System.Web MVC. Możliwa jest także integracja przezNginx
+FastCGI
lubApache
+mod_mono
.Ważne informacje:
- Ta metoda gwarantuje ograniczoną kompatybilność ze starszym ASP.NET Framework – nie wszystkie aplikacje będą działać bezproblemowo, szczególnie te zależne od specyficznych rozwiązań Windows.
- Wydajność jest zwykle niższa niż pod Windows/IIS.
- Nie zaleca się dla nowych projektów. Nowoczesny rozwój aplikacji webowych powinien bazować na ASP.NET Core.
- ServBay udostępnia kompletną dokumentację: Jak uruchomić witrynę ASP.NET Framework 4.x na macOS.
Gdy zachodzi potrzeba uruchomienia takiego środowiska (np. do testów czy utrzymania), przykładowa procedura wyglądać może tak (w zależności od aplikacji i konfiguracji):
bash# Przykład: uruchomienie serwera xsp w określonym katalogu # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 obsługuje .NET 4.x)
1
2
3
Integracja z serwerami WWW (ASP.NET Core)
Korzystając z .NET SDK zainstalowanego przez ServBay, możesz rozwijać aplikacje webowe oparte na ASP.NET Core. Podczas wdrażania aplikacji webowych możesz posiłkować się wbudowanymi serwerami WWW ServBay, takimi jak Nginx, Caddy czy Apache:
- Opublikuj aplikację ASP.NET Core, korzystając z polecenia
dotnet publish
. - Dodaj nową witrynę (Website) w ServBay.
- Skonfiguruj tę witrynę jako reverse proxy, by przekierowywała żądania HTTP do działającej aplikacji ASP.NET Core nasłuchującej na porcie Kestrel (np.
http://localhost:5000
). Sposób konfiguracji reverse proxy zależy od wybranego serwera WWW (Nginx, Caddy, Apache).
Szczegółowe instrukcje znajdziesz w dokumentacji ServBay dla dodawania witryn i konfiguracji reverse proxy.
Podsumowanie
ServBay znacząco upraszcza budowanie i zarządzanie środowiskami .NET na macOS. Dzięki przyjaznemu interfejsowi programista może w prosty sposób instalować, przełączać i usuwać różne wersje .NET SDK oraz Mono, koncentrując się na rozwoju i testowaniu aplikacji C#, F# oraz ASP.NET Core.