Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| comfilepi:dotnet_development:index [2026/02/16 22:26] – created admin | comfilepi:dotnet_development:index [2026/02/16 22:43] (current) – [.NET 애플리케이션 배포 및 실행] admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== .NET 개발 | + | ====== .NET Development |
| - | .NET은 ComfilePi와 같은 Linux 기반 PC에서 전문적인 .NET 런타임 환경을 제공합니다. | + | .NET은 ComfilePi와 같은 Linux 기반 PC에서 전문적인 .NET 런타임 환경을 제공합니다. |
| - | Blazor와 WebAssembly | + | [[https:// |
| - | Blazor는 클라이언트와 서버를 거의 | + | Blazor는 클라이언트와 서버를 거의 |
| - | System.Devices.Gpio 네임스페이스를 통해 ComfilePi에서 필요한 대부분의 IO 제어 기능을 사용할 수 있습니다. | + | [[https:// |
| + | 또한 Blazor는 여러 로컬 또는 원격 클라이언트에서 동시에 화면을 확인하고 제어할 수 있는 실시간 웹 애플리케이션 기능을 제공합니다. | ||
| - | 또한 Blazor는 실시간 웹 애플리케이션을 지원하여, | + | 아래 영상은 ComfilePi에서 실행되는 프로젝트 예시로, |
| - | 여러 로컬 또는 원격 클라이언트에서 동시에 화면을 확인하고 제어할 수 있습니다. | + | CP-IO22-A4-2 IO 보드를 제어하는 애플리케이션입니다. |
| - | + | ||
| - | 아래 영상은 ComfilePi에서 실행되는 프로젝트 예시로, | + | |
| - | 후면에 장착된 CP-IO22-A4-2 IO 보드를 제어하는 애플리케이션입니다. | + | |
| 이 애플리케이션은 ComfilePi 자체 화면뿐 아니라 개발용 PC나 스마트폰에서도 실시간으로 확인 및 제어가 가능합니다. | 이 애플리케이션은 ComfilePi 자체 화면뿐 아니라 개발용 PC나 스마트폰에서도 실시간으로 확인 및 제어가 가능합니다. | ||
| - | (영상) | + | {{ : |
| + | |||
| + | ComfilePi에서 실행 중인 .NET 실시간 웹 애플리케이션 | ||
| - | 해당 예제 | + | 위 영상에서 사용된 |
| - | .NET IoT 라이브러리 | + | 자세한 내용은 [[https:// |
| Line 28: | Line 28: | ||
| == .NET 10 SDK == | == .NET 10 SDK == | ||
| .NET 10부터 Microsoft에서 ARM64 Linux 패키지를 공식 제공하고 있습니다. | .NET 10부터 Microsoft에서 ARM64 Linux 패키지를 공식 제공하고 있습니다. | ||
| - | Bookworm OS를 사용하는 ComfilePi에서는 Microsoft Debian 12 설치 가이드를 따라 설치할 수 있습니다. | + | Bookworm OS를 사용하는 ComfilePi에서는 |
| + | [[https:// | ||
| + | |||
| + | ==.NET 9 SDK== | ||
| - | == .NET 9 SDK == | ||
| .NET 10 이전에는 ARM64 SDK가 공식 제공되지 않았기 때문에 | .NET 10 이전에는 ARM64 SDK가 공식 제공되지 않았기 때문에 | ||
| Bookworm OS에서는 자체 제작한 설치 패키지를 제공합니다. | Bookworm OS에서는 자체 제작한 설치 패키지를 제공합니다. | ||
| - | 설치 명령: | + | < |
| - | sudo apt update | + | sudo apt update |
| sudo apt install cpi-dotnet-sdk-9.0 | sudo apt install cpi-dotnet-sdk-9.0 | ||
| + | </ | ||
| - | == .NET 8 SDK == | + | ==.NET 8 SDK== |
| - | 마찬가지로 자체 패키지를 통해 설치 가능합니다. | + | |
| - | 설치 | + | .NET 10 이전에는 ARM64 SDK가 공식 제공되지 않았기 때문에 |
| - | sudo apt update | + | Bookworm OS에서는 자체 제작한 |
| + | |||
| + | < | ||
| + | sudo apt update | ||
| sudo apt install cpi-dotnet-sdk-8.0 | sudo apt install cpi-dotnet-sdk-8.0 | ||
| + | </ | ||
| === Bullseye === | === Bullseye === | ||
| 2022년 7월 26일 이후 배포된 ComfilePi OS에는 .NET SDK가 기본 포함되어 있습니다. | 2022년 7월 26일 이후 배포된 ComfilePi OS에는 .NET SDK가 기본 포함되어 있습니다. | ||
| - | 터미널에서 dotnet --version 명령으로 확인할 수 있습니다. | + | 터미널에서 |
| - | 더 최신 버전이 필요하면 수동 설치를 진행하십시오. | + | 더 최신 버전이 필요하면 |
| - | === 모든 | + | === Any OS === |
| - | 원하는 버전의 .NET SDK는 다음 명령으로 | + | 다음 명령을 사용하면 |
| - | (설치 스크립트 명령어 생략) | + | <code bash> |
| + | DOTNET_VERSION=10.0 | ||
| + | wget https:// | ||
| + | chmod +x dotnet-install.sh | ||
| + | sudo ./ | ||
| + | sudo ln -s / | ||
| - | 설치 후 터미널에서 | + | # .NET 런타임 경로 |
| + | sudo mkdir /etc/dotnet | ||
| + | sudo bash -c 'echo / | ||
| + | </ | ||
| + | 설치 후 터미널에서 < | ||
| + | === ARM Linux 가비지 컬렉션 버그 대응 (.NET 8 & 9 전용) === | ||
| - | === ARM Linux 가비지 컬렉션 | + | **중요** - [[https:// |
| - | + | 메모리가 작은 장치에서는 애플리케이션이 중단될 수 있으므로 | |
| - | 메모리가 작은 장치에서는 | + | |
| 가비지 컬렉터 메모리 제한을 설정해야 할 수 있습니다. | 가비지 컬렉터 메모리 제한을 설정해야 할 수 있습니다. | ||
| - | 설정 | + | 파일 |
| + | < | ||
| DOTNET_GCHeapHardLimitPercent=32 | DOTNET_GCHeapHardLimitPercent=32 | ||
| + | </ | ||
| 설정 후 재부팅하십시오. | 설정 후 재부팅하십시오. | ||
| + | 자세한 내용은 | ||
| + | [[https:// | ||
| - | ===== 개발용 PC에 .NET SDK 설치 ===== | ||
| - | 개발은 PC에서 진행하는 것이 일반적으로 더 편리합니다. | + | ===== 개발용 PC에 .NET SDK 설치 ===== |
| - | 방법: | + | 개발은 PC에서 진행하는 것이 더 편리합니다. |
| + | 다음 | ||
| - | | + | * [[https:// |
| - | * .NET SDK 설치 | + | * [[https:// |
| - | * Visual Studio Code를 IDE로 사용 | + | * [[https:// |
| Line 88: | Line 107: | ||
| ===== .NET 프로젝트 생성 ===== | ===== .NET 프로젝트 생성 ===== | ||
| - | .NET 프로젝트는 dotnet CLI 또는 Visual Studio 템플릿을 이용해 생성할 수 있습니다. | + | .NET 프로젝트는 |
| ==== Visual Studio 사용 ==== | ==== Visual Studio 사용 ==== | ||
| - | 새 프로젝트 | + | === 프로젝트 생성 및 빌드 === |
| - | 일반 | + | |
| + | Visual Studio에서 .NET 서버형 Blazor 애플리케이션을 만들려면 | ||
| + | 새 프로젝트에서 //Blazor App// 을 선택하십시오. | ||
| + | |||
| + | |{{ : | ||
| + | |||
| + | 다른 Visual Studio | ||
| Line 99: | Line 124: | ||
| ==== .NET CLI 사용 ==== | ==== .NET CLI 사용 ==== | ||
| - | 터미널에서 다음 명령 실행: | + | === 프로젝트 생성 및 빌드 === |
| - | dotnet new blazorserver | + | 영상 예제와 같은 서버형 Blazor 프로젝트 생성: |
| - | dotnet build | + | |
| + | '' | ||
| + | |||
| + | 프로젝트 폴더에서 빌드: | ||
| + | |||
| + | '' | ||
| Line 110: | Line 140: | ||
| 개발 환경에서 ComfilePi로 애플리케이션을 실행하려면 다음 단계를 수행합니다. | 개발 환경에서 ComfilePi로 애플리케이션을 실행하려면 다음 단계를 수행합니다. | ||
| - | | + | |
| - | | + | |
| - | | + | |
| + | |||
| + | Visual Studio, dotnet CLI, Visual Studio Code를 통해 수행할 수 있습니다. | ||
| + | |||
| + | * [[.: | ||
| - | Visual Studio, | + | 참고: [[https:// |
| - | ===== 디버깅 ===== | + | ===== 프로젝트 |
| Visual Studio에서 ComfilePi로 원격 배포 및 디버깅하려면 | Visual Studio에서 ComfilePi로 원격 배포 및 디버깅하려면 | ||
| - | Remote .NET Debugger | + | [[: |
| - | Raspberry Pi용 .NET 디버깅 | + | 참고: [[https:// |
