Differences
This shows you the differences between two versions of the page.
| comfilepi:dotnet_core_development:index [2026/02/16 22:16] – created admin | comfilepi:dotnet_core_development:index [2026/02/16 22:25] (current) – removed admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== .NET 개발 ====== | ||
| - | .NET은 ComfilePi와 같은 Linux 기반 PC에서 전문적인 .NET 런타임 환경을 제공합니다. | ||
| - | Blazor와 WebAssembly 기술을 사용하면 ComfilePi의 최신 웹 브라우저에서 동작하는 GUI 애플리케이션을 개발할 수 있습니다. | ||
| - | |||
| - | Blazor는 클라이언트와 서버를 거의 전부 C#으로 개발할 수 있게 해주며, | ||
| - | System.Devices.Gpio 네임스페이스를 통해 ComfilePi에서 필요한 대부분의 IO 제어 기능을 사용할 수 있습니다. | ||
| - | |||
| - | 또한 Blazor는 실시간 웹 애플리케이션을 지원하여, | ||
| - | 여러 로컬 또는 원격 클라이언트에서 동시에 화면을 확인하고 제어할 수 있습니다. | ||
| - | |||
| - | 아래 영상은 ComfilePi에서 실행되는 프로젝트 예시로, | ||
| - | 후면에 장착된 CP-IO22-A4-2 IO 보드를 제어하는 애플리케이션입니다. | ||
| - | 이 애플리케이션은 ComfilePi 자체 화면뿐 아니라 개발용 PC나 스마트폰에서도 실시간으로 확인 및 제어가 가능합니다. | ||
| - | |||
| - | (영상) | ||
| - | |||
| - | 해당 예제 애플리케이션의 소스 코드는 다운로드하여 확인할 수 있습니다. | ||
| - | |||
| - | .NET IoT 라이브러리 API 참조도 함께 참고하시기 바랍니다. | ||
| - | |||
| - | |||
| - | |||
| - | ===== ComfilePi에 .NET SDK 설치 ===== | ||
| - | |||
| - | === Bookworm === | ||
| - | |||
| - | == .NET 10 SDK == | ||
| - | .NET 10부터 Microsoft에서 ARM64 Linux 패키지를 공식 제공하고 있습니다. | ||
| - | Bookworm OS를 사용하는 ComfilePi에서는 Microsoft Debian 12 설치 가이드를 따라 설치할 수 있습니다. | ||
| - | |||
| - | == .NET 9 SDK == | ||
| - | .NET 10 이전에는 ARM64 SDK가 공식 제공되지 않았기 때문에 | ||
| - | Bookworm OS에서는 자체 제작한 설치 패키지를 제공합니다. | ||
| - | |||
| - | 설치 명령: | ||
| - | sudo apt update | ||
| - | sudo apt install cpi-dotnet-sdk-9.0 | ||
| - | |||
| - | == .NET 8 SDK == | ||
| - | 마찬가지로 자체 패키지를 통해 설치 가능합니다. | ||
| - | |||
| - | 설치 명령: | ||
| - | sudo apt update | ||
| - | sudo apt install cpi-dotnet-sdk-8.0 | ||
| - | |||
| - | |||
| - | === Bullseye === | ||
| - | 2022년 7월 26일 이후 배포된 ComfilePi OS에는 .NET SDK가 기본 포함되어 있습니다. | ||
| - | 터미널에서 dotnet --version 명령으로 확인할 수 있습니다. | ||
| - | 더 최신 버전이 필요하면 수동 설치를 진행하십시오. | ||
| - | |||
| - | === 모든 OS 공통 수동 설치 === | ||
| - | |||
| - | 원하는 버전의 .NET SDK는 다음 명령으로 수동 설치할 수 있습니다. | ||
| - | |||
| - | (설치 스크립트 명령어 생략) | ||
| - | |||
| - | 설치 후 터미널에서 dotnet --version 명령으로 정상 설치 여부를 확인합니다. | ||
| - | |||
| - | |||
| - | |||
| - | === ARM Linux 가비지 컬렉션 버그 대응 (.NET 8, 9) === | ||
| - | |||
| - | 메모리가 작은 장치에서는 .NET 런타임 버그로 인해 애플리케이션이 중단될 수 있으므로 | ||
| - | 가비지 컬렉터 메모리 제한을 설정해야 할 수 있습니다. | ||
| - | |||
| - | 설정 파일 / | ||
| - | |||
| - | DOTNET_GCHeapHardLimitPercent=32 | ||
| - | |||
| - | 설정 후 재부팅하십시오. | ||
| - | |||
| - | |||
| - | |||
| - | ===== 개발용 PC에 .NET SDK 설치 ===== | ||
| - | |||
| - | 개발은 PC에서 진행하는 것이 일반적으로 더 편리합니다. | ||
| - | |||
| - | 방법: | ||
| - | |||
| - | * Visual Studio 2022 이상 설치 ( .NET 개발 옵션 선택 ) | ||
| - | * .NET SDK 설치 후 dotnet CLI 사용 | ||
| - | * Visual Studio Code를 IDE로 사용 가능 | ||
| - | |||
| - | |||
| - | |||
| - | ===== .NET 프로젝트 생성 ===== | ||
| - | |||
| - | .NET 프로젝트는 dotnet CLI 또는 Visual Studio 템플릿을 이용해 생성할 수 있습니다. | ||
| - | |||
| - | ==== Visual Studio 사용 ==== | ||
| - | |||
| - | 새 프로젝트 → Blazor App 선택 | ||
| - | 일반 프로젝트와 동일하게 빌드 | ||
| - | |||
| - | |||
| - | |||
| - | ==== .NET CLI 사용 ==== | ||
| - | |||
| - | 터미널에서 다음 명령 실행: | ||
| - | |||
| - | dotnet new blazorserver | ||
| - | dotnet build | ||
| - | |||
| - | |||
| - | |||
| - | ====== .NET 애플리케이션 배포 및 실행 ====== | ||
| - | |||
| - | 개발 환경에서 ComfilePi로 애플리케이션을 실행하려면 다음 단계를 수행합니다. | ||
| - | |||
| - | 1. 대상 CPU 아키텍처 및 OS에 맞게 Publish | ||
| - | 2. 생성된 파일을 ComfilePi로 전송 | ||
| - | 3. ComfilePi에서 실행 | ||
| - | |||
| - | Visual Studio, dotnet CLI, 또는 Visual Studio Code로 수행 가능합니다. | ||
| - | |||
| - | |||
| - | |||
| - | ===== 디버깅 ===== | ||
| - | |||
| - | Visual Studio에서 ComfilePi로 원격 배포 및 디버깅하려면 | ||
| - | Remote .NET Debugger 확장 기능을 사용합니다. | ||
| - | |||
| - | Raspberry Pi용 .NET 디버깅 문서도 참고하시기 바랍니다. | ||
