.NET 사용
ServBay는 macOS 환경에서 .NET 개발자를 위한 편리하고 효율적인 개발 환경을 제공합니다. ServBay의 패키지 관리 시스템을 통해 최신 .NET(Core 및 차세대 버전)과 전통적인 Mono 프레임워크를 포함한 여러 .NET SDK 버전을 손쉽게 설치, 관리, 실행할 수 있어 다양한 프로젝트 요구사항에 유연하게 대응할 수 있습니다.
개요
.NET 플랫폼의 역사와 macOS 지원
.NET은 마이크로소프트가 개발한 범용 개발 플랫폼입니다. 해당 플랫폼의 발전사와 macOS 지원 현황을 이해하는 것은 중요합니다.
.NET Framework(초기 버전): 2002년에 처음 출시된 .NET Framework는 마이크로소프트의 대표적인 개발 플랫폼이지만, 주로 Windows 시스템을 위해 설계되었습니다. CLR(공용 언어 런타임)과 방대한 클래스 라이브러리(FCL)를 포함하고 있습니다. 따라서 .NET Framework로 개발된 응용 프로그램은 macOS에서 직접 실행하기 어렵습니다.
Mono(크로스플랫폼 선구자): .NET을 Linux, macOS 등 비Windows 플랫폼에 도입하기 위해, 커뮤니티(초기 Ximian 주도, 이후 Novell 및 Xamarin/Microsoft의 지원)가 Mono를 개발했습니다. Mono는 .NET Framework의 오픈소스 크로스플랫폼 구현체로, macOS 및 Linux에서 C# 앱 등 .NET Framework 기반 애플리케이션의 실행 및 개발이 가능합니다. 여전히 macOS에서 레거시 .NET Framework 앱 또는 라이브러리가 필요한 경우 유용하게 활용되고 있습니다.
.NET Core / .NET 5+ (모던 크로스플랫폼 표준): 마이크로소프트는 크로스플랫폼 지원을 강화하기 위해 처음부터 새롭게 .NET Core를 설계했습니다. 현대적이고, 고성능이며, 완전한 오픈소스 크로스플랫폼 구현체로 Windows, macOS, Linux를 지원합니다. .NET Core 3.1 이후, .NET Framework 4.x와의 혼동을 피하기 위해 .NET이라는 이름으로 통합(버전 5부터)되었습니다. 최신 C# 및 F#, ASP.NET Core 개발에 권장되는 플랫폼이며, macOS 개발 시에도 이 플랫폼(.NET 5, 6, 7, 8, 9, 10 등)을 기본적으로 사용합니다.
ServBay의 .NET 지원
ServBay는 이런 .NET의 발전사와 개발자별 다양한 요구사항을 반영하여, 다음과 같은 기능을 제공합니다.
- 최신 .NET SDK 패키지: .NET(Core) 각 버전(.NET SDK 2.0~10.0)들이 포함되어 최신 C#, F#, ASP.NET Core를 활용한 크로스플랫폼 개발이 가능합니다.
- Mono 패키지: Mono 런타임(예: Mono 6)도 제공되어, macOS에서 구버전 .NET Framework 기반 프로젝트나 특정 라이브러리 사용이 가능하며, 구버전 ASP.NET (Web Forms, System.Web MVC)에 대한 제한적 지원도 포함합니다.
- 동시 설치 지원: 여러 버전의 .NET SDK 및 Mono를 동시에 설치할 수 있습니다.
- 프로젝트별 버전 지정: 각 프로젝트에서 필요한 .NET SDK 버전을
.servbay.config
파일로 지정 가능합니다. - 간편한 관리: ServBay의 GUI를 통해 각 SDK 및 Mono 버전의 설치/제거, 상태 등을 직관적으로 확인 및 관리할 수 있습니다.
.NET 패키지 액세스하기
- ServBay 앱을 실행합니다.
- 좌측 내비게이션 메뉴에서
패키지(Packages)
를 클릭합니다. 패키지
페이지 내에서 아래로 스크롤하거나, 왼쪽 분류 리스트에서Languages
->.NET
을 선택합니다.- 우측 패널에 사용 가능한 모든 .NET SDK 및 Mono 패키지 목록이 표시됩니다.
.NET SDK 설치하기
패키지 목록에서는 각 .NET SDK 버전의 상태를 명확하게 보여줍니다.
- 패키지명: 예)
.NET SDK 8.0
,Mono 6
등 - 버전: 해당 패키지의 세부 버전
- 상태:
Installed
(설치됨) 또는Not Installed
(미설치)로 표시 - 제어: 동작 버튼 제공
설치되지 않은 .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 사용하기
ServBay에서 .NET SDK를 설치하면, 해당 dotnet
명령어 도구가(ServBay 환경이 활성화될 때) 시스템 PATH 환경 변수에 자동으로 추가됩니다. 즉, macOS의 터미널(Terminal)에서 바로 dotnet
명령을 사용할 수 있습니다.
주요 명령 예시:
설치된 SDK 버전 확인: 터미널에서 다음 명령을 실행하세요.
bashdotnet --list-sdks
1ServBay에서 관리하는 모든 .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
명령을 실행하면global.json
에 지정한 SDK 버전이 우선 적용됩니다.
Mono 지원
기본 .NET SDK 외에도 ServBay는 Mono 설치 옵션도 제공합니다. Mono는 .NET Framework의 오픈소스, 크로스플랫폼 구현체입니다. .NET Framework의 특정 기능에 의존하는 프로그램 실행이나 개발이 필요한 경우, ServBay에서 Mono를 설치해 활용할 수 있습니다. 설치 및 제거 절차는 .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
라는 간이 웹 서버도 제공하여, 개발 환경에서 구버전 ASP.NET Web Forms 또는 System.Web MVC 앱을 구동할 수 있습니다.Nginx
+FastCGI
, 또는Apache
+mod_mono
방식으로도 연동 가능합니다.중요 안내:
- 이런 방식은 ASP.NET Framework의 호환성이 제한적이므로, 모든 앱이 완전히 동작하지 않을 수 있으며 특히 Windows 종속 기능 사용 시 문제가 발생할 수 있습니다.
- 성능 측면에서도 Windows/IIS에서의 실행보다 뒤처질 수 있습니다.
- 신규 프로젝트 개발 용도로는 추천되지 않습니다. 현대적인 웹 개발은 ASP.NET Core 사용을 권장합니다.
- ServBay는 자세한 안내 문서를 제공합니다: macOS에서 ASP.NET Framework 4.x 웹사이트 실행 방법.
꼭 실행이 필요한 경우(예: 테스트, 유지보수), 다음과 같이 명령어를 쓸 수 있습니다(앱 및 구성에 따라 달라질 수 있음).
bash# 예시: 특정 폴더에서 xsp 서버 구동 # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4는 .NET 4.x용)
1
2
3
웹 서버 통합(ASP.NET Core)
ServBay로 .NET SDK를 설치하면, ASP.NET Core 웹 애플리케이션을 개발할 수 있습니다. 배포 시 ServBay 내장 웹 서버(Nginx, Caddy, Apache 등)를 다음과 같이 연동할 수 있습니다.
dotnet publish
명령으로 ASP.NET Core 앱을 배포합니다.- ServBay에서 새로운 **웹사이트(Website)**를 추가하세요.
- 해당 웹사이트를 역방향 프록시로 구성해, 요청을 앱의 Kestrel 서버 포트(예:
http://localhost:5000
)로 전달하도록 설정합니다. 구체적인 프록시 설정 방법(Nginx, Caddy, Apache 등)은 사용 웹 서버 종류에 따라 달라집니다.
웹사이트 추가 및 역방향 프록시 구성에 관한 자세한 방법은 ServBay 공식 문서를 참조하세요.
요약
ServBay는 macOS에서 .NET 개발 환경의 구축과 관리를 획기적으로 간소화합니다. 직관적인 UI를 통해 여러 .NET SDK 및 Mono 버전의 설치, 전환, 제거를 손쉽게 처리할 수 있어 개발자는 C#, F#, ASP.NET Core 앱 개발 및 테스트에 더욱 집중할 수 있습니다.