Використання .NET
ServBay надає зручне та ефективне середовище для розробників .NET на macOS. Завдяки системі керування пакетами ServBay, ви легко можете встановлювати, керувати і запускати декілька версій .NET SDK, включаючи сучасний .NET (тобто .NET Core та подальші версії) й класичний фреймворк Mono, щоб відповідати вимогам різних проєктів.
Огляд
Історія платформи .NET і підтримка macOS
.NET — багатофункціональна платформа розробки від Microsoft. Її історія та еволюція версій є ключовими для розуміння підтримки на macOS:
.NET Framework (оригінальна версія): Вперше випущений у 2002 році, .NET Framework є основною платформою розробки Microsoft, але він розроблений переважно для Windows. Він містить Common Language Runtime (CLR) та велику бібліотеку класів (FCL). Запускати застосунки .NET Framework безпосередньо на macOS зазвичай неможливо.
Mono (піонер кросплатформенності): Щоб зробити .NET-додатки доступними для Linux і macOS, спільнота (спочатку Ximian, далі Novell і Xamarin/Microsoft) розробила Mono — відкриту кросплатформенну реалізацію .NET Framework. Це дозволяє розробникам запускати та створювати додатки, спочатку написані для .NET Framework (особливо на C#), для macOS та Linux. Для старих застосунків або бібліотек, які мають працювати на macOS, Mono дотепер залишається цінним.
.NET Core / .NET 5+ (сучасний стандарт кросплатформенності): Усвідомивши важливість кросплатформенності, Microsoft розробила .NET Core з нуля. Це сучасна, високопродуктивна, відкрита та повністю кросплатформенна версія .NET для Windows, macOS і Linux. Починаючи з .NET Core 3.1, Microsoft перейменувала цю гілку просто у .NET (починаючи з версії 5). Тепер під .NET SDK зазвичай мається на увазі саме ця сучасна кросплатформенна версія (.NET 5, 6, 7, 8, 9, 10 тощо). Саме цю платформу Microsoft рекомендує для всієї нової розробки, включно з розробкою під macOS.
Підтримка .NET у ServBay
ServBay враховує історію розвитку .NET і різноманітні потреби розробників, тому пропонує:
- Сучасні пакети .NET SDK: Доступна низка версій .NET (Core) SDK (наприклад, .NET SDK 2.0–10.0) для кросплатформенної розробки на C#, F# і ASP.NET Core.
- Пакети Mono: Включає Mono runtime (наприклад, Mono 6) для підтримки старих проєктів або бібліотек під .NET Framework, які потрібно запускати чи розробляти під macOS, включаючи обмежену підтримку старих ASP.NET (Web Forms, System.Web MVC).
- Паралельна інсталяція: Можна встановлювати кілька версій .NET SDK і Mono одночасно.
- Керування версіями на рівні проєкту: Використовуйте
.servbay.config
для визначення потрібної версії сучасного .NET SDK для кожного проєкту. - Просте керування: Інтуїтивний графічний інтерфейс для встановлення, видалення та перегляду версій SDK і Mono у ServBay.
Доступ до пакетів .NET
- Відкрийте додаток ServBay.
- У лівій навігації оберіть
Пакети (Packages)
. - На сторінці
Пакети
, прокрутіть донизу або в розділі лівого меню оберітьLanguages
->.NET
. - У правій частині з’явиться список усіх доступних пакетів .NET SDK та Mono.
Встановлення .NET SDK
У списку пакетів ви чітко бачите статус кожної версії .NET SDK:
- Package Name: Назва пакета, наприклад,
.NET SDK 8.0
чиMono 6
. - Version: Конкретний номер версії пакета.
- Status: Позначає
Installed
(встановлено) абоNot Installed
(не встановлено). - Control: Доступні кнопки керування.
Щоб встановити невстановлену версію .NET SDK (наприклад, .NET SDK 10.0
):
- Знайдіть потрібну версію у списку.
- Переконайтеся, що статус —
Not Installed
. - Натисніть іконку Завантажити/Встановити (Download/Install) справа (зазвичай стрілка вниз).
- ServBay почне завантаження й встановлення вказаної версії SDK. Це може зайняти деякий час залежно від швидкості інтернету та розміру SDK.
- Після успішного встановлення статус стане
Installed
, а кнопка зміниться на Видалити (Uninstall) (значок смітника).
Керування встановленими SDK
- Перегляд встановлених версій: У списку стан
Installed
чітко вказує всі .NET SDK та Mono, які наразі встановлено у вашому середовищі. - Видалення SDK: Якщо потрібно видалити певну встановлену версію SDK, просто натисніть на іконку Видалити (Uninstall) (смітник) й підтвердіть дію — пакет буде прибраний із системи.
Використання встановленого .NET SDK
Після встановлення .NET SDK, ServBay зазвичай додає командний інструмент dotnet
у системну змінну PATH (коли середовище ServBay активне). Це означає, що у Terminal на macOS ви можете прямо використовувати команду dotnet
.
Приклади найважливіших команд:
Перевірити доступні версії SDK: Відкрийте термінал і запустіть:
bashdotnet --list-sdks
1Ви побачите всі встановлені через ServBay версії .NET SDK.
Перевірити поточну активну версію SDK (зазвичай остання встановлена або глобально задана):
bashdotnet --version
1Створити новий консольний застосунок (із дефолтним SDK):
bash# Створити папку проєкту MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Створити новий консольний проект із дефолтним SDK dotnet new console
1
2
3
4
5
6Запустити застосунок:
bashdotnet run
1Використати конкретну версію SDK (якщо потрібно): Якщо ваш проєкт потребує конкретної версії SDK, можна вказати її через файл
global.json
у корені проєкту:json{ "sdk": { "version": "8.0.408" // Вкажіть версію SDK, яку встановлено й потребує проєкт } }
1
2
3
4
5Коли ви виконуєте команди
dotnet
у такій директорії, буде використовуватись версія SDK, визначена уglobal.json
.
Підтримка Mono
Окрім стандартних .NET SDK, ServBay також підтримує встановлення та керування Mono — відкритої кросплатформенної реалізації .NET Framework. Якщо потрібно запускати чи розробляти додатки, що залежать від специфічних можливостей .NET Framework, встановіть Mono через ServBay. Встановлення й видалення Mono повністю аналогічне до роботи з .NET SDK.
Mono зазвичай використовують для запуску програм, скомпільованих під .NET Framework (.exe
файли), або спеціальних інструментів, яким потрібне середовище Mono, а також для запуску старих ASP.NET додатків.
Перевірити версію Mono:
bashmono --version
1Запустити виконуваний файл .NET Framework: Наприклад, якщо у вас є
LegacyApp.exe
:bashmono LegacyApp.exe
1Запустити старий ASP.NET-додаток (обмежена підтримка): У складі Mono є простий вебсервер
xsp
, який можна використовувати для розробки і тестування ASP.NET Web Forms або System.Web MVC застосунків. Також можлива інтеграція зNginx
+FastCGI
чиApache
+mod_mono
.Важливо:
- Такий спосіб має обмежену сумісність із ASP.NET Framework; не всі додатки працюють коректно, особливо ті, що залежать від функцій Windows.
- Продуктивність часто нижча, ніж на Windows/IIS.
- Не рекомендується для нових проектів. Для сучасної розробки використовуйте ASP.NET Core.
- У ServBay доступна детальна документація: Як запустити ASP.NET Framework 4.x сайт на macOS.
Якщо вам все ж потрібно запускати такий додаток (наприклад, для тесту чи підтримки), можливий сценарій (конкретна команда залежить від вашого проєкту та налаштувань):
bash# Приклад: запуск сервера xsp у потрібній директорії # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 відповідає .NET 4.x)
1
2
3
Інтеграція з вебсервером (ASP.NET Core)
За допомогою .NET SDK, встановленого через ServBay, ви можете розробляти ASP.NET Core вебдодатки. Для розгортання таких програм скористайтесь вбудованими вебсерверами ServBay (Nginx, Caddy або Apache):
- Опублікуйте ASP.NET Core застосунок через команду
dotnet publish
. - Додайте новий сайт (Website) у ServBay.
- Налаштуйте цей сайт як зворотний проксі, перенаправляючи запити на порт Kestrel-сервера вашої ASP.NET Core програми (наприклад,
http://localhost:5000
). Конкретні налаштування залежать від вибраного вами вебсерверу (Nginx, Caddy або Apache).
Детальніше дивіться у документації ServBay про додавання сайту та налаштування зворотного проксі.
Висновки
ServBay значно спрощує розгортання та керування .NET-середовищем розробки на macOS. Інтуїтивний інтерфейс дає змогу легко встановлювати, перемикати й видаляти різні версії .NET SDK і Mono, дозволяючи зосередитися на ефективній розробці та тестуванні застосунків на C#, F# і ASP.NET Core.