먼저 사용하는 리눅스에 dotnet이 깔려있다고 가정한다.
[바로가기] Linux에 dotnet 설치하기 (준비중)
- 자신의 .NET Core를 기반으로 한 프로젝트 폴더로 이동한다.
- ex) cd c#/UDPExample
- 여기서 아래 명령중 자신이 배포하고자 하는 환경에 맞춰 배포한다.
- (아래 명령어 중 <RID>는 자신이 배포하고자 하는 OS 환경 이름을 뜻한다.)
ex) SCD(프로그램을 실행하는데 필요한 모든 .NET Core 파일을 포함하여 배포)를 하고 싶고 linux-x64기반으로 배포하고 싶을 때
-> dotnet publish -f netcoreapp2.2 -r linux-x64 --self-contained true
- 배포 후에는 /bin/Debug/netcoreapp2.2/<RID>/ 안에 배포 파일이 들어가 있을 것이다.
추가
- 각 OS 환경에 맞는 <RID> 목록
Windows RID
자주 사용되는 값만 나열되어 있습니다. 최신의 완전한 버전을 보려면 CoreFX 리포지토리에서 runtime.json 파일을 참조하세요.
- 이식 가능(.NET Core 2.0 이상 버전)
- win-x64
- win-x86
- win-arm
- win-arm64
- Windows 7 / Windows Server 2008 R2
- win7-x64
- win7-x86
- Windows 8.1 / Windows Server 2012 R2
- win81-x64
- win81-x86
- win81-arm
- Windows 10 / Windows Server 2016
- win10-x64
- win10-x86
- win10-arm
- win10-arm64
Linux RID
자주 사용되는 값만 나열되어 있습니다. 최신의 완전한 버전을 보려면 CoreFX 리포지토리에서 runtime.json 파일을 참조하세요. 아래에 나열되지 않은 배포를 실행하는 디바이스의 경우, 이식 가능 RID 중 하나와 작동할 수 있습니다. 예를 들어, 여기에 나열되지 않은 Linux 배포를 실행하는 Raspberry Pi 디바이스는 linux-arm을 사용하여 대상으로 지정할 수 있습니다.
- 이식 가능(.NET Core 2.0 이상 버전)
- linux-x64 (CentOS, Debian, Fedora, Ubuntu 및 파생 버전을 비롯한 대부분의 데스크톱 배포)
- linux-musl-x64 (Alpine Linux와 같이 musl을 사용하는 간단한 배포)
- linux-arm (Raspberry Pi와 같이 ARM에서 실행되는 Linux 배포)
- Red Hat Enterprise Linux
- rhel-x64 (버전 6보다 상위 RHEL의 경우 linux-x64로 대체됨)
- rhel.6-x64(.NET Core 2.0 이상 버전)
- Tizen(.NET Core 2.0 이상 버전)
- tizen
- tizen.4.0.0
- tizen.5.0.0
자세한 내용은 Linux에서 .NET Core의 필수 구성 요소를 참조하세요.
macOS RID
macOS RID는 이전 "OSX" 브랜딩을 사용합니다. 자주 사용되는 값만 나열되어 있습니다. 최신의 완전한 버전을 보려면 CoreFX 리포지토리에서 runtime.json 파일을 참조하세요.
- 이식 가능(.NET Core 2.0 이상 버전)
- osx-x64 (최소 OS 버전: macOS 10.12 Sierra)
- macOS 10.10 Yosemite
- osx.10.10-x64
- macOS 10.11 El Capitan
- osx.10.11-x64
- macOS 10.12 Sierra(.NET Core 1.1 이상 버전)
- osx.10.12-x64
- macOS 10.13 High Sierra(.NET Core 1.1 이상 버전)
- osx.10.13-x64
- macOS 10.14 Mojave(.NET Core 1.1 이상 버전)
- osx.10.14-x64
자세한 내용은 macOS에서 .NET Core의 필수 구성 요소를 참조하세요.
자료참조
- Microsoft Documents(CLI를 사용하여 .NET Core 앱 개시)
- Microsoft Documents(.NET Core RID 카탈로그)