macOS에 .NET 설치

이 문서에서는 macOS에 .NET을 설치하는 방법을 알아봅니다. .NET은 런타임과 SDK로 구성됩니다. 런타임은 .NET 앱을 실행하는 데 사용되며 앱에 포함되거나 포함되지 않을 수 있습니다. SDK는 .NET 앱과 라이브러리를 만드는 데 사용됩니다. .NET 런타임은 항상 SDK와 함께 설치됩니다.

최신 버전의 .NET은 7입니다.

지원되는 릴리스

지원되는 릴리스에는 LTS(장기 지원) 릴리스 또는 STS(표준 기간 지원)라는 두 가지 유형이 있습니다. 모든 릴리스의 품질은 동일합니다. 유일한 차이점은 지원 길이입니다. LTS 릴리스는 3년 동안 무료 지원 및 패치를 받습니다. STS 릴리스는 18개월 동안 무료 지원 및 패치를 받습니다. 자세한 내용은 .NET 지원 정책을 참조하세요.

다음 표는 현재 지원되는 .NET 릴리스 및 지원되는 macOS 버전 목록입니다.

운영 체제 .NET 7(STS) .NET 6(LTS)
macOS 13.0 "Ventura" ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 7.0 ✔️ 6.0
macOS 11.0 “Big Sur” ✔️ 7.0 ✔️ 6.0
macOS 10.15 “Catalina” ✔️ 7.0 ✔️ 6.0

.NET 버전 및 해당 지원 수명 주기의 전체 목록은 .NET 지원 정책을 참조하세요.

지원되지 않는 릴리스

다음 .NET 버전은 ❌ 더 이상 지원되지 않습니다.

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

런타임 정보

런타임은 .NET으로 만든 앱을 실행하는 데 사용됩니다. 앱 작성자는 앱을 게시할 때 앱과 함께 런타임을 포함할 수 있습니다. 앱 작성자가 런타임을 포함하지 않는 경우, 사용자가 런타임을 설치할 수 있습니다.

macOS에 설치할 수 있는 두 가지 런타임이 있습니다.

  • ‘ASP.NET Core 런타임’
    ASP.NET Core 앱을 실행합니다. .NET 런타임을 포함합니다.

  • ‘.NET 런타임’
    이 런타임은 가장 간단한 런타임이며 다른 런타임을 포함하지 않습니다. .NET 앱과의 최상의 호환성을 위해 ‘ASP.NET Core 런타임’을 설치하는 것이 좋습니다.

SDK 정보

SDK는 .NET 앱과 라이브러리를 빌드하고 게시하는 데 사용됩니다. SDK를 설치하면 ASP.NET Core 및 .NET Core의 두 가지 런타임이 모두 포함됩니다.

공증

macOS Catalina(버전10.15)부터, 2019년 6월 1일 이후에 빌드되어 개발자 ID로 배포되는 모든 소프트웨어는 공증을 받아야 합니다. 이 요구 사항은 .NET 런타임, .NET SDK, .NET으로 만든 소프트웨어에 적용됩니다.

.NET용 런타임 및 SDK 설치 프로그램은 2020년 2월 18일부터 공증되었습니다. 그 전에 릴리스된 버전은 공증되지 않았습니다. 공증되지 않은 앱을 실행하면 다음 이미지와 비슷한 오류가 표시됩니다.

macOS Catalina 공증 경고

공증 요구 사항이 적용됨에 따라 .NET(및 .NET 앱)에 미치는 영향에 대해 자세히 알아보려면 macOS Catalina 공증 관련 사항을 참조하세요.

libgdiplus

System.Drawing.Common 어셈블리를 사용하는 .NET 애플리케이션을 설치하려면 libgdiplus가 필요합니다.

libgdiplus를 획득하는 쉬운 방법은 macOS용 Homebrew("brew") 패키지 관리자를 사용하는 것입니다. brew를 설치한 후 터미널(명령) 프롬프트에서 다음 명령을 실행하여 libgdiplus를 설치합니다.

brew update
brew install mono-libgdiplus

설치 프로그램을 사용하여 설치

macOS에는 .NET 7을 설치하는 데 사용할 수 있는 독립 실행형 설치 관리자가 있습니다.

다운로드 및 수동으로 설치

.NET용 macOS 설치 관리자 대신 SDK와 런타임을 다운로드하여 수동으로 설치할 수 있습니다. 수동 설치는 일반적으로 연속 통합 테스트의 일부로 수행됩니다. 개발자 또는 사용자의 경우 일반적으로 설치 관리자를 사용하는 것이 좋습니다.

먼저, 다음 사이트 중 한 곳에서 SDK 또는 런타임의 이진 릴리스를 다운로드합니다. .NET SDK를 설치하면 해당 런타임을 설치할 필요가 없습니다.

그런 다음 다운로드한 파일의 압축을 풀고 export 명령을 사용하여 압축을 푼 폴더의 위치로 DOTNET_ROOT를 설정한 다음 .NET이 PATH에 있는지 확인합니다. 이렇게 하면 터미널에서 .NET CLI 명령을 사용할 수 있습니다.

또는 .NET 이진 파일을 다운로드한 후 파일이 저장된 디렉터리에서 다음 명령을 실행하여 런타임을 추출할 수 있습니다. 이렇게 하면 터미널에서 .NET CLI 명령을 사용할 수 있고 필요한 환경 변수가 설정됩니다. DOTNET_FILE 값을 다운로드된 이진 파일의 이름으로 변경해야 합니다.

DOTNET_FILE=dotnet-sdk-7.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

이전 export 명령은 명령이 실행된 터미널 세션에서만 .NET CLI 명령을 사용할 수 있도록 만듭니다.

셸 프로필을 편집하여 명령을 영구적으로 추가할 수 있습니다. 몇 가지 Linux용 셸이 있으며, 각각 다른 프로필을 갖습니다. 예를 들어:

  • Bash 셸: ~/.bash_profile, ~/.bashrc
  • Korn 셸: ~/.kshrc 또는 .profile
  • Z 셸: ~/.zshrc 또는 .zprofile

셸의 적절한 소스 파일을 편집하고 기존 PATH 문의 끝에 :$HOME/dotnet을 추가합니다. 포함된 PATH 문이 없다면 export PATH=$PATH:$HOME/dotnet을 사용하여 새 라인을 추가합니다.

또한, 파일 끝에 export DOTNET_ROOT=$HOME/dotnet을 추가합니다.

이 방법을 사용하면 서로 다른 버전을 별도의 위치에 설치하고 애플리케이션에서 사용할 수 있도록 명시적으로 선택할 수 있습니다.

Arm 기반 Mac

다음 섹션에서는 Arm 기반 Mac에 .NET을 설치할 때 고려해야 할 사항에 대해 설명합니다.

지원되는 내용

다음 표에서는 Arm 기반 Mac에서 지원되는 .NET 버전을 설명합니다.

.NET 버전 아키텍처 SDK) 런타임 경로 충돌
7 Arm64
7 X64
6 Arm64
6 X64 아니요

.NET 6부터 x64 및 Arm64 버전의 .NET SDK는 서로 독립적으로 존재합니다. 새 버전이 출시되면 각 설치를 업그레이드해야 합니다.

경로 차이

Arm 기반 Mac에서는 모든 Arm64 버전의 .NET이 /usr/local/share/dotnet/ 폴더에 설치됩니다. 그러나 .NET 7 SDK의 x64 버전을 설치하면 /usr/local/share/dotnet/x64/dotnet/ 폴더에 설치됩니다.

경로 충돌

.NET 6부터 x64 .NET SDK는 이전 섹션에 설명된 대로 자체 디렉터리에 설치됩니다. 이렇게 하면 .NET SDK의 Arm64 및 x64 버전이 동일한 컴퓨터에 존재할 수 있습니다. 그러나 .NET 6 이전의 x64 SDK는 지원되지 않으며 Arm64 버전 인 /usr/local/share/dotnet/ 폴더와 동일한 위치에 설치됩니다. 지원되지 않는 x64 SDK를 설치하려는 경우 먼저 Arm64 버전을 제거해야 합니다. 반대의 경우도 마찬가지입니다. Arm64 버전을 설치하려면 지원되지 않는 x64 SDK를 제거해야 합니다.

경로 변수

.NET 6 SDK의 x64 및 Arm64 버전이 모두 설치되어 있는 경우 .NET을 시스템 경로에 추가하는 환경 변수(예: PATH 변수)를 변경해야 할 수 있습니다. 또한 DOTNET_ROOT 환경 변수를 사용하는 도구도 적절한 .NET 6 SDK 설치 폴더를 가리키도록 업데이트해야 합니다.

Mac용 Visual Studio를 사용하여 설치

Mac용 Visual Studio는 .NET 워크로드가 선택된 경우 .NET SDK를 설치합니다. macOS에서 .NET 개발을 시작하려면 Mac용 Visual Studio 2019 설치를 참조하세요.

.NET SDK 버전 Visual Studio 버전
7.0 Mac용 Visual Studio 2022 17.4 이상.
6.0 Mac용 Visual Studio 2022 미리 보기 3 17.0 이상
3.1 Mac용 Visual Studio 2019 버전 8.4 이상

.NET 워크로드가 선택된 Mac용 macOS Visual Studio 2019

Visual Studio Code와 함께 설치

Visual Studio Code는 데스크톱에서 실행되는 강력한 경량 소스 코드 편집기입니다. Visual Studio Code는 Windows, macOS 및 Linux에서 사용할 수 있습니다.

Visual Studio Code에 Visual Studio처럼 자동화된 .NET 설치 관리자가 포함되지 않은 경우 간편하게 .NET 지원을 추가할 수 있습니다.

  1. Visual Studio Code를 다운로드하여 설치합니다.
  2. .NET SDK를 다운로드하여 설치합니다.
  3. Visual Studio Code Marketplace에서 C# 확장을 설치합니다.

배시 자동화를 사용하여 설치

dotnet-install 스크립트는 자동화 및 런타임의 관리자가 아닌 일반 설치를 수행하는 데 사용됩니다. 스크립트는 dotnet-install 스크립트 참조 페이지에서 다운로드할 수 있습니다.

스크립트는 기본적으로 최신 LTS(장기 지원) 버전(.NET 6)을 설치합니다. channel 스위치를 지정하여 특정 릴리스를 선택할 수 있습니다. 런타임을 설치하려면 runtime 스위치를 포함합니다. 포함하지 않을 경우 스크립트가 SDK를 설치합니다.

다음 명령은 최대 호환성을 위해 ASP.NET Core 런타임을 설치합니다. ASP.NET Core 런타임에는 표준 .NET 런타임도 포함되어 있습니다.

./dotnet-install.sh --channel 7.0 --runtime aspnetcore

Docker

컨테이너는 호스트 시스템의 나머지 부분으로부터 애플리케이션을 격리하는 경량 방식을 제공합니다. 동일한 머신에 있는 컨테이너는 커널만 공유하고 애플리케이션에 주어진 리소스를 사용합니다.

.NET은 Docker 컨테이너에서 실행할 수 있습니다. 공식 .NET Docker 이미지는 MCR(Microsoft Container Registry)에 게시되며 Microsoft .NET Docker Hub 리포지토리에서 찾을 수 있습니다. 각 리포지토리에는 사용할 수 있는 .NET(SDK 또는 Runtime)과 OS가 다양하게 조합된 이미지가 포함되어 있습니다.

Microsoft는 특정 시나리오를 위한 맞춤형 이미지를 제공합니다. 예를 들어 ASP.NET Core 리포지토리는 프로덕션에서 ASP.NET Core 앱을 실행하기 위해 빌드된 이미지를 제공합니다.

Docker 컨테이너에서 .NET 사용에 대한 자세한 내용은 .NET 및 Docker 소개Samples(샘플)를 참조하세요.

다음 단계