Использование .NET
ServBay предоставляет разработчикам .NET на macOS удобную и эффективную среду разработки. Благодаря системе управления пакетами ServBay вы можете легко устанавливать, управлять и запускать сразу несколько версий .NET SDK, включая современные версии .NET (то есть .NET Core и последующие) и классическую платформу Mono, чтобы удовлетворять потребности различных проектов.
Обзор
История платформы .NET и поддержка на macOS
.NET — это многофункциональная платформа разработки, созданная Microsoft. Для понимания поддержки на macOS важно знать её основные этапы развития:
.NET Framework (оригинальная версия): Впервые выпущенный в 2002 году, .NET Framework был флагманской платформой Microsoft, но изначально разрабатывался преимущественно для Windows. Включал CLR (Common Language Runtime) и обширную библиотеку классов (FCL). Запускать приложения .NET Framework напрямую на macOS, как правило, невозможно.
Mono (первопроходец кроссплатформенности): Для переноса .NET-приложений на Linux и macOS сообщество (проект, инициированный Ximian, впоследствии поддерживаемый Novell и затем Xamarin/Microsoft) разработало Mono. Mono — открытая и кроссплатформенная реализация .NET Framework. Позволяет запускать и разрабатывать приложения, изначально написанные под .NET Framework (особенно на C#), на macOS и Linux. Для запуска старых приложений или библиотек .NET Framework на macOS Mono по-прежнему является актуальным инструментом.
.NET Core / .NET 5+ (современный кроссплатформенный стандарт): Осознав важность кроссплатформенности, Microsoft разработала .NET Core с нуля. Это современная, высокопроизводительная, открытая и полностью кроссплатформенная реализация .NET, поддерживающая Windows, macOS и Linux. После версии .NET Core 3.1 платформа получила новое название — .NET (начиная с версии 5, чтобы избежать путаницы с .NET Framework 4.x). Сейчас, когда говорят о .NET SDK, как правило, имеют в виду именно это современное, кроссплатформенное решение (версии .NET 5, 6, 7, 8, 9, 10 и далее). Рекомендуется использовать именно эту платформу для всех новых проектов, в том числе на macOS.
Поддержка .NET в ServBay
ServBay учитывает историю .NET и разнообразные задачи разработчиков, предоставляя:
- Пакеты современных .NET SDK: Включают различные версии .NET (Core) SDK — например, с 2.0 до 10.0, чтобы вы могли использовать новейшие возможности C#, F# и ASP.NET Core для кроссплатформенной разработки.
- Пакеты Mono: Включают Mono (например, Mono 6) для поддержки старых проектов или специфических библиотек на базе .NET Framework, требующихся для запуска или разработки на macOS, включая ограниченную поддержку старого ASP.NET (Web Forms, System.Web MVC).
- Параллельная установка: Возможность одновременной установки нескольких версий .NET SDK и Mono.
- Контроль версий на уровне проекта: Задавайте необходимую версию .NET SDK для каждого проекта через файл
.servbay.config
. - Простое управление: Просматривайте, устанавливайте и удаляйте разные версии 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 активна). Это позволяет вам использовать команду dotnet
напрямую в терминале macOS.
Примеры часто используемых команд:
Просмотр доступных версий SDK: Откройте терминал и выполните:
bashdotnet --list-sdks
1Это покажет все версии .NET SDK, установленные и управляемые через ServBay, и их пути установки.
Проверка текущей активной версии 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
в этом каталоге, будет использоваться указанная вglobal.json
версия SDK.
Поддержка Mono
Помимо стандартного .NET SDK ServBay также поддерживает установку Mono. Mono — это открытая кроссплатформенная реализация .NET Framework. Если вам надо разрабатывать или запускать приложения с использованием функциональности, специфицеской для .NET Framework, вы можете установить и использовать Mono через ServBay. Процесс установки и удаления совпадает с .NET SDK.
Mono используется в первую очередь для запуска исполняемых файлов, скомпилированных под .NET Framework (.exe
), либо специализированных инструментов, требующих среды Mono, а также для запуска старых ASP.NET-приложений.
Проверка версии Mono:
bashmono --version
1Запуск исполняемого файла .NET Framework: Допустим, у вас есть скомпилированный под .NET Framework файл
LegacyApp.exe
:bashmono LegacyApp.exe
1Запуск старых ASP.NET приложений (ограниченная поддержка): Mono включает простой веб-сервер
xsp
, который позволяет запускать в dev-режиме старые ASP.NET Web Forms или System.Web MVC приложения. Есть также возможность интеграции сNginx
+FastCGI
илиApache
+mod_mono
.Важные замечания:
- Корректность работы ASP.NET Framework на Mono ограничена — не все приложения будут работать идеально, особенно если они зависят от специфики 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.