Table of Contents

.NET Development

.NET은 ComfilePi와 같은 Linux 기반 PC에서 전문적인 .NET 런타임 환경을 제공합니다.
Blazor and Web Assembly 기술을 사용하면 ComfilePi의 최신 웹 브라우저에서 동작하는 GUI 애플리케이션을 개발할 수 있습니다.

Blazor는 클라이언트와 서버를 거의 모두 C#으로 개발할 수 있도록 해줍니다. System.Devices.Gpio 네임스페이스를 통해 ComfilePi에서 필요한 대부분의 IO 제어 기능을 사용할 수 있습니다. 또한 Blazor는 여러 로컬 또는 원격 클라이언트에서 동시에 화면을 확인하고 제어할 수 있는 실시간 웹 애플리케이션 기능을 제공합니다.

아래 영상은 ComfilePi에서 실행되는 프로젝트 예시로, ComfilePi 후면에 장착된 CP-IO22-A4-2 IO 보드를 제어하는 애플리케이션입니다. 이 애플리케이션은 ComfilePi 자체 화면뿐 아니라 개발용 PC나 스마트폰에서도 실시간으로 확인 및 제어가 가능합니다.

ComfilePi에서 실행 중인 .NET 실시간 웹 애플리케이션

위 영상에서 사용된 애플리케이션의 소스 코드 다운로드

자세한 내용은 .NET IoT Libraries API Reference 문서를 참고하시기 바랍니다.

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

.NET 10 이전에는 ARM64 SDK가 공식 제공되지 않았기 때문에 Bookworm OS에서는 자체 제작한 설치 패키지를 제공합니다.

sudo apt update
sudo apt install cpi-dotnet-sdk-8.0

Bullseye

2022년 7월 26일 이후 배포된 ComfilePi OS에는 .NET SDK가 기본 포함되어 있습니다. 터미널에서 dotnet –version 명령으로 확인할 수 있습니다. 더 최신 버전이 필요하면 아래 수동 설치 방법을 사용하십시오.

Any OS

다음 명령을 사용하면 원하는 버전의 .NET SDK를 수동 설치할 수 있습니다.

DOTNET_VERSION=10.0  # 원하는 버전 선택
wget https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh
chmod +x dotnet-install.sh
sudo ./dotnet-install.sh --channel $DOTNET_VERSION --install-dir /opt/Microsoft/dotnet
sudo ln -s /opt/Microsoft/dotnet/dotnet /usr/local/bin/dotnet
 
# .NET 런타임 경로 설정 파일 생성
sudo mkdir /etc/dotnet
sudo bash -c 'echo /opt/Microsoft/dotnet/ >> /etc/dotnet/install_location'

설치 후 터미널에서 <html>

dotnet --version

</html> 명령으로 정상 설치 여부를 확인합니다.

ARM Linux 가비지 컬렉션 버그 대응 (.NET 8 & 9 전용)

중요 - .NET 런타임 버그로 인해 메모리가 작은 장치에서는 애플리케이션이 중단될 수 있으므로 가비지 컬렉터 메모리 제한을 설정해야 할 수 있습니다.

파일 /etc/environment 에 아래 항목을 추가하십시오.

DOTNET_GCHeapHardLimitPercent=32

설정 후 재부팅하십시오.

자세한 내용은 Microsoft 공식 문서를 참고하십시오.

개발용 PC에 .NET SDK 설치

개발은 PC에서 진행하는 것이 더 편리합니다. 다음 방법 중 하나를 사용할 수 있습니다.

* Visual Studio 다운로드 (2022 이상) 후 .NET 개발 옵션 선택 * .NET SDK 다운로드 후 CLI(dotnet 명령) 사용 * Visual Studio Code 다운로드 후 dotnet CLI와 함께 사용

.NET 프로젝트 생성

.NET 프로젝트는 dotnet CLI 또는 Visual Studio 템플릿을 이용해 생성할 수 있습니다.

Visual Studio 사용

프로젝트 생성 및 빌드

Visual Studio에서 .NET 서버형 Blazor 애플리케이션을 만들려면 새 프로젝트에서 Blazor App 을 선택하십시오.

다른 Visual Studio 프로젝트와 동일하게 빌드하면 됩니다.

.NET CLI 사용

프로젝트 생성 및 빌드

영상 예제와 같은 서버형 Blazor 프로젝트 생성:

dotnet new blazorserver

프로젝트 폴더에서 빌드:

dotnet build

.NET 애플리케이션 배포 및 실행

개발 환경에서 ComfilePi로 애플리케이션을 실행하려면 다음 단계를 수행합니다.

  1. ComfilePi CPU 아키텍처와 OS에 맞게 Publish
  2. 생성된 파일을 ComfilePi로 전송
  3. ComfilePi에서 실행

Visual Studio, dotnet CLI, Visual Studio Code를 통해 수행할 수 있습니다.

참고: ARM 싱글보드 컴퓨터에서 .NET 앱 배포

프로젝트 디버깅

Visual Studio에서 ComfilePi로 원격 배포 및 디버깅하려면 Remote .NET Debugger Visual Studio Extension을 사용하십시오.

참고: Raspberry Pi에서 .NET 앱 디버깅