학습
학습 경로
C#을 사용하여 .NET 애플리케이션 빌드 - Training
.NET은 다양한 유형의 애플리케이션을 빌드하기 위한 무료, 크로스 플랫폼, 오픈 소스 개발자 플랫폼입니다. .NET을 사용하면 다국어, 편집기 및 라이브러리를 사용하여 웹, 모바일, 데스크톱, 게임 및 IoT를 빌드할 수 있습니다.
이 문서에서는 macOS에서 지원되는 .NET 버전, .NET을 설치하는 방법 및 SDK와 런타임 간의 차이점에 대해 설명합니다.
.NET의 최신 버전은 9입니다.
다음 표에는 지원되는 .NET 릴리스와 해당 릴리스가 지원되는 macOS가 나와 있습니다. 이러한 버전은 .NET 버전이 지원 종료에 도달하거나 macOS 버전이 더 이상 지원되지 않을 때까지 계속 지원됩니다.
macOS 버전 | .NET |
---|---|
macOS 15 "Sequoia" | 9.0, 8.0 |
macOS 14 "Sonoma" | 9.0, 8.0 |
macOS 13 "Ventura" | 9.0, 8.0 |
다음 .NET 버전은 ❌ 더 이상 지원되지 않습니다.
런타임은 .NET으로 만든 앱을 실행하는 데 사용됩니다. 앱 작성자는 앱을 게시할 때 앱과 함께 런타임을 포함할 수 있습니다. 앱 작성자가 런타임을 포함하지 않는 경우, 사용자가 올바른 런타임을 설치할 수 있습니다.
macOS에 설치할 수 있는 두 개의 런타임이 있으며 둘 다 SDK에 포함되어 있습니다.
ASP.NET Core 런타임
ASP.NET Core 앱을 실행합니다. .NET 런타임을 포함합니다. 설치 관리자로 사용할 수 없습니다.
.NET 런타임
이는 일반 .NET 앱을 실행하지만 ASP.NET Core에서 빌드된 앱과 같이 특수한 앱은 실행하지 않습니다.
SDK는 .NET 앱과 라이브러리를 빌드하고 게시하는 데 사용됩니다. 최신 SDK는 이전 버전의 .NET용 앱 빌드를 지원합니다. 일반적인 상황에서는 최신 SDK만 설치하면 됩니다.
SDK를 설치하면 표준 .NET 런타임과 ASP.NET Core 런타임이 모두 포함됩니다. 예를 들어 .NET SDK 9.0이 설치되어 있는 경우 .NET 런타임 9.0 및 ASP.NET Core 9.0 런타임이 모두 설치됩니다. 그러나 다른 런타임 버전은 SDK와 함께 설치되지 않으며 별도로 설치해야 합니다.
NET을 설치하는 방법에는 여러 가지가 있으며 일부 제품은 자체 버전의 .NET을 관리할 수 있습니다. 자체 버전의 .NET을 관리하는 소프트웨어를 통해 .NET을 설치하는 경우 시스템 전체에서 사용하도록 설정되지 않을 수 있습니다. 다른 소프트웨어를 통해 .NET을 설치하는 경우 미치는 영향을 이해해야 합니다.
다음 섹션의 목록을 검토한 후 어떤 방법을 선택해야 하는지 확실하지 않은 경우 .NET 설치 관리자 패키지를 사용하는 것이 좋습니다.
.NET 앱을 개발하려면 Visual Studio Code용 C# 개발 키트 확장을 설치합니다. 확장은 이미 설치된 SDK를 사용하거나 SDK를 설치할 수 있습니다.
독립 실행형 설치 관리자를 사용하여 .NET을 설치합니다. 이 방법은 개발자 또는 사용자 컴퓨터에 .NET을 설치하는 일반적인 방법입니다.
SDK 또는 런타임의 설치를 자동화할 수 있는 bash 스크립트입니다. 설치할 .NET 버전을 선택할 수 있습니다.
특정 폴더에 .NET을 설치하고 .NET의 다른 복사본과 별도로 실행해야 하는 경우 이 설치 방법을 사용합니다.
설치 관리자 패키지는 macOS에서 사용할 수 있으며, 이는 .NET을 쉽게 설치하는 방법입니다.
브라우저를 열고 https://dotnet.microsoft.com/download/dotnet로 이동합니다.
설치하려는 .NET 버전(예: .NET 8.0)에 대한 링크를 선택합니다.
이 링크를 통해 해당 버전의 .NET을 다운로드할 수 있는 링크가 있는 페이지로 이동합니다.
SDK를 설치하려면 최신 .NET 버전을 선택하세요. SDK는 이전 버전의 .NET용 앱 빌드를 지원합니다.
팁
다운로드할 버전을 잘 모르는 경우 최신 버전으로 표시된 버전을 선택합니다.
이 페이지에서는 SDK 및 런타임에 대한 다운로드 링크를 제공합니다. 여기에서 .NET SDK 또는 .NET 런타임을 다운로드합니다.
이전 이미지에는 두 개의 섹션이 강조 표시되어 있습니다. SDK를 다운로드하는 경우 섹션 1을 참조하세요. .NET 런타임의 경우 섹션 2를 참조하세요.
섹션 1(SDK)
이 섹션은 SDK 다운로드 영역입니다. macOS 행의 설치 관리자 열 아래에는 Arm64 및 x64 두 아키텍처가 나열됩니다.
섹션 2(런타임)
이 섹션에는 런타임 다운로드가 포함되어 있습니다. macOS 행의 설치 관리자 열에 대한 링크가 비어 있습니다! ASP.NET Core 런타임이 SDK 또는 이진 설치를 통해서만 제공되므로 이 섹션은 비어 있습니다.
다운로드할 표준 .NET 런타임을 찾으려면 아래로 더 스크롤합니다.
다운로드가 완료되면 엽니다.
설치 관리자의 단계를 따릅니다.
macOS 설치 관리자 대신 SDK와 런타임을 다운로드하여 수동으로 설치할 수 있습니다. 수동 설치는 일반적으로 연속 통합 시나리오에서 일부 자동화로 수행됩니다. 일반적으로 개발자와 사용자는 설치 관리자를 사용해야 합니다.
팁
install-dotnet.sh 스크립트를 사용하여 이러한 단계를 자동으로 수행합니다.
브라우저를 열고 https://dotnet.microsoft.com/download/dotnet로 이동합니다.
설치하려는 .NET 버전(예: .NET 8.0)에 대한 링크를 선택합니다.
이 링크를 통해 해당 버전의 .NET을 다운로드할 수 있는 링크가 있는 페이지로 이동합니다.
SDK를 설치하려면 최신 .NET 버전을 선택하세요. SDK는 이전 버전의 .NET용 앱 빌드를 지원합니다.
팁
다운로드할 버전을 잘 모르는 경우 최신 버전으로 표시된 버전을 선택합니다.
설치하려는 SDK 또는 런타임에 대한 링크를 선택합니다. macOS 행에서 이진 파일 열을 찾습니다.
터미널을 열고 .NET 이진 파일이 다운로드된 위치로 이동합니다.
시스템에서 .NET을 사용하려는 위치로 tarball을 압축 해제합니다. 다음 예제에서는 HOME 디렉터리 ~/Applications/.dotnet
을 사용합니다.
mkdir -p ~/Applications/.dotnet
tar -xf "dotnet-sdk-9.0.100-rc.2.24474.11-osx-arm64.tar" -C ~/Applications/.dotnet/
디렉터리를 .NET이 설치된 위치로 변경하여 .NET이 작동하는지 테스트하고 dotnet --info
명령을 실행합니다.
chdir ~/Applications/.dotnet/
./dotnet --info
dotnet-install 스크립트는 자동화 및 런타임의 관리자 권한이 없는 설치를 수행하는 데 사용됩니다. https://dot.net/v1/dotnet-install.sh에서 스크립트를 다운로드할 수 있습니다.
스크립트는 기본적으로 최신 LTS(장기 지원) 버전(.NET 8)을 설치합니다. channel
스위치를 지정하여 특정 릴리스를 선택할 수 있습니다. 런타임을 설치하려면 runtime
스위치를 포함합니다. 포함하지 않을 경우 스크립트가 SDK를 설치합니다.
팁
이러한 명령은 이 절차의 마지막에 스크립트 코드 조각으로 제공됩니다.
터미널을 엽니다.
~/Downloads와 같이 스크립트를 다운로드하려는 폴더로 이동합니다.
wget
명령이 없는 경우 Brew를 사용하여 설치합니다.
brew install wget
스크립트를 다운로드하려면 다음 명령을 실행합니다.
wget https://dot.net/v1/dotnet-install.sh
스크립트에 실행 권한 부여
chmod +x dotnet-install.sh
스크립트를 실행하여 .NET을 설치합니다.
스크립트는 기본적으로 ~/.dotnet
디렉터리에 최신 SDK를 설치합니다.
./dotnet-install.sh
다음의 모든 명령은 단일 bash 스크립트입니다.
chdir ~/Downloads
brew install wget
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh
~/.dotnet
폴더로 이동하고 dotnet --info
명령을 실행하여 .NET을 테스트합니다.
chdir ~/.dotnet
./dotnet --info
중요
일부 프로그램에서는 환경 변수를 사용하여 시스템에서 .NET을 찾을 수 있으며 새 터미널을 열 때 dotnet
명령 사용이 작동하지 않을 수 있습니다. 이 문제를 해결하려면 .NET을 시스템 전체에서 사용할 수 있도록 설정 섹션을 참조하세요.
Visual Studio Code는 데스크톱에서 실행되는 강력한 경량 소스 코드 편집기입니다. Visual Studio Code는 시스템에 이미 설치된 SDK를 사용할 수 있습니다. 또한 C# Dev Kit 확장은 아직 설치되지 않은 경우 .NET을 설치합니다.
Visual Studio Code를 통해 .NET을 설치하는 방법에 대한 지침은 VS Code에서 C# 시작하기를 참조하세요.
개발자 ID로 배포되는 macOS용으로 만든 소프트웨어는 .NET으로 만든 앱을 포함하여 공증되어야 합니다.
공증되지 않은 앱을 실행하면 다음 이미지와 비슷한 오류 창이 표시됩니다.
공증 요구 사항이 적용됨에 따라 .NET(및 .NET 앱)에 미치는 영향에 대해 자세히 알아보려면 macOS Catalina 공증 관련 사항을 참조하세요.
설치 프로그램 또는 이진 릴리스를 다운로드한 후 파일이 변경되거나 손상되지 않았는지 확인합니다. 컴퓨터에서 체크섬을 확인한 다음 다운로드 웹 사이트에 보고된 내용과 비교할 수 있습니다.
공식 다운로드 페이지에서 파일을 다운로드하면 해당 파일의 체크섬이 텍스트 상자에 표시됩니다. 체크섬 값을 클립보드에 복사하려면 복사 단추를 선택합니다.
sha512sum
명령을 사용하여 다운로드한 파일의 체크섬을 인쇄합니다. 예를 들어 다음 명령은 dotnet-sdk-8.0.100-linux-x64.tar.gz 파일의 체크섬을 보고합니다.
$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5 dotnet-sdk-8.0.100-linux-x64.tar.gz
체크섬을 다운로드 사이트에서 제공한 값과 비교합니다.
중요
이러한 예제에서는 Linux 파일이 표시되지만 이 정보는 macOS에도 동일하게 적용됩니다.
.NET 릴리스 정보에는 다운로드한 파일의 유효성을 검사하는 데 사용할 수 있는 체크섬 파일에 대한 링크가 포함되어 있습니다. 다음 단계에서는 체크섬 파일을 다운로드하고 .NET 설치 이진 파일의 유효성을 검사하는 방법을 설명합니다.
GitHub(https://github.com/dotnet/core/tree/main/release-notes/8.0#releases)의 .NET 8 릴리스 정보 페이지에는 릴리스라는 섹션이 포함되어 있습니다. 해당 섹션의 표는 각 .NET 8 릴리스에 대한 다운로드 및 체크섬 파일로 연결됩니다.
다운로드한 .NET 버전에 대한 링크를 선택합니다.
이전 섹션에서는 .NET 8.0.0 릴리스에 있는 .NET SDK 8.0.100을 사용했습니다.
릴리스 페이지에서 .NET 런타임 및 .NET SDK 버전과 체크섬 파일에 대한 링크를 볼 수 있습니다.
체크섬 링크를 마우스 오른쪽 단추로 클릭하고 클립보드에 링크를 복사합니다.
터미널을 엽니다.
curl -O {link}
를 사용하여 체크섬 파일을 다운로드합니다.
다음 명령의 링크를 복사한 링크로 바꿉니다.
curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
체크섬 파일과 .NET 릴리스 파일을 모두 동일한 디렉터리에 다운로드한 상태에서 sha512sum -c {file} --ignore-missing
명령을 사용하여 다운로드한 파일의 유효성을 검사합니다.
유효성 검사를 통과하면 확인 상태로 인쇄된 파일이 표시됩니다.
$ sha512sum -c 8.0.0-sha.txt --ignore-missing
dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
FAILED로 표시된 파일이 표시되면 다운로드한 파일이 유효하지 않으므로 사용하면 안 됩니다.
$ sha512sum -c 8.0.0-sha.txt --ignore-missing
dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
sha512sum: WARNING: 1 computed checksum did NOT match
sha512sum: 8.0.0-sha.txt: no file was verified
다음 섹션에서는 Arm 기반 Mac에 .NET을 설치할 때 고려해야 할 사항에 대해 설명합니다.
Arm 기반 Mac에서는 모든 Arm64 버전의 .NET이 /usr/local/share/dotnet/ 폴더에 설치됩니다. 그러나 x64 버전의 .NET SDK를 설치하면 /usr/local/share/dotnet/x64/dotnet/ 폴더에 설치됩니다.
.NET SDK의 x64 및 Arm64 버전이 모두 설치되어 있는 경우 .NET을 시스템 경로에 추가하는 환경 변수(예: PATH
변수)를 변경해야 할 수 있습니다. 또한 DOTNET_ROOT
환경 변수를 사용하는 도구도 적절한 .NET SDK 설치 폴더를 가리키도록 업데이트해야 합니다.
문제 해결을 위해 다음 섹션을 사용할 수 있습니다.
경우에 따라 터미널을 포함한 시스템의 앱에서 .NET이 설치된 위치를 찾아야 합니다. .NET macOS 설치 관리자 패키지는 시스템을 자동으로 구성해야 합니다. 그러나 수동 설치 방법 또는 .NET 설치 스크립트를 사용한 경우 .NET이 설치된 디렉터리를 PATH
변수에 추가해야 합니다.
일부 앱은 .NET이 설치된 위치를 확인하려고 할 때 DOTNET_ROOT
변수를 찾을 수 있습니다.
macOS에서는 다양한 셸을 사용할 수 있으며 각 셸에는 서로 다른 프로필이 있습니다. 예시:
셸 프로필에서 다음 두 환경 변수를 설정합니다.
DOTNET_ROOT
이 변수는 .NET이 설치된 폴더(예: $HOME/.dotnet
)로 설정됩니다.
export DOTNET_ROOT=$HOME/.dotnet
PATH
이 변수에는 DOTNET_ROOT
폴더와 DOTNET_ROOT/tools
폴더가 모두 포함되어야 합니다.
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
.NET 애플리케이션에서 System.Drawing.Common
어셈블리를 사용하는 경우 libgdiplus
를 설치해야 합니다.
libgdiplus
를 획득하는 쉬운 방법은 macOS용 Homebrew("brew") 패키지 관리자를 사용하는 것입니다. brew를 설치한 후 터미널에서 다음 명령을 실행하여 libgdiplus
를 설치합니다.
brew update
brew install mono-libgdiplus
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.
학습
학습 경로
C#을 사용하여 .NET 애플리케이션 빌드 - Training
.NET은 다양한 유형의 애플리케이션을 빌드하기 위한 무료, 크로스 플랫폼, 오픈 소스 개발자 플랫폼입니다. .NET을 사용하면 다국어, 편집기 및 라이브러리를 사용하여 웹, 모바일, 데스크톱, 게임 및 IoT를 빌드할 수 있습니다.
설명서
macOS Catalina 공증 관련 사항 - .NET
.NET으로 빌드된 .NET 런타임, SDK 및 앱을 설치할 때 macOS의 공증 및 인증 문제를 처리하는 방법.
.NET에서 프로그램에 대한 런타임 버전을 자동으로 찾아 선택하는 방법을 알아봅니다. 또한 이 문서에서는 특정 버전을 강제로 적용하는 방법을 설명합니다.
dotnet 명령(.NET CLI의 일반 드라이버) 및 사용법에 대해 알아봅니다.