.NET-apps implementeren op ARM-computers met één bord
De implementatie van .NET-apps op computers met één bord is identiek aan die van elk ander platform. Uw app kan worden uitgevoerd als zelfstandige of frameworkafhankelijke implementatiemodi. Er zijn voordelen voor elke strategie. Zie het overzicht van het publiceren van .NET-toepassingen voor meer informatie.
Een frameworkafhankelijke app implementeren
Voer de volgende stappen uit om uw app te implementeren als een frameworkafhankelijke app:
Zorg ervoor dat SSH is ingeschakeld op uw apparaat. Raadpleeg voor Raspberry Pi het instellen van een SSH-server in de Raspberry Pi-documentatie.
Installeer .NET op het apparaat met behulp van de dotnet-install-scripts. Voer de volgende stappen uit vanaf een Bash-prompt op het apparaat (lokaal of SSH):
Voer de volgende opdracht uit om .NET te installeren:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
Notitie
Hiermee wordt de nieuwste versie geïnstalleerd. Als u een specifieke versie nodig hebt, vervangt u de
--channel STS
parameter door--version <VERSION>
, waar<VERSION>
is de specifieke buildversie.Als u de padomzetting wilt vereenvoudigen, voegt u een
DOTNET_ROOT
omgevingsvariabele toe en voegt u de map .dotnet toe aan$PATH
met de volgende opdrachten:echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc source ~/.bashrc
Controleer de .NET-installatie met de volgende opdracht:
dotnet --version
Controleer of de weergegeven versie overeenkomt met de versie die u hebt geïnstalleerd.
Publiceer de app als volgt op de ontwikkelcomputer, afhankelijk van de ontwikkelomgeving.
- Als u Visual Studio gebruikt, implementeert u de app in een lokale map. Voordat u gaat publiceren, selecteert u Bewerken in de samenvatting van het publicatieprofiel en selecteert u het tabblad Instellingen. Zorg ervoor dat de implementatiemodus is ingesteld op Frameworkafhankelijk en doelruntime is ingesteld op Portable.
- Als u de .NET CLI gebruikt, gebruikt u de opdracht dotnet publish . Er zijn geen extra argumenten vereist.
Kopieer met behulp van een SFTP-client als
scp
volgt de bestanden van de publicatielocatie op de ontwikkelcomputer naar een nieuwe map op de SBC.Als u bijvoorbeeld de
scp
opdracht wilt gebruiken om bestanden van de ontwikkelcomputer naar uw SBC te kopiëren, opent u een opdrachtprompt en voert u het volgende uit:scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Hierin:
- De
-r
optie geeft aanscp
om bestanden recursief te kopiëren. - /publish-location/ is de map waarnaar u in de vorige stap hebt gepubliceerd.
pi@raspberypi
is de gebruikers- en hostnamen in de indeling<username>@<hostname>
.- /home/pi/deployment-location/ is de nieuwe map op de SBC.
Tip
Recente versies van Windows hebben OpenSSH, waaronder
scp
vooraf geïnstalleerd.- De
Voer de app uit vanuit een Bash-prompt op de Raspberry Pi (lokaal of SSH). Hiervoor stelt u de implementatiemap in als de huidige map en voert u de volgende opdracht uit (waarbij HelloWorld.dll het toegangspunt van de app is):
dotnet HelloWorld.dll
Een zelfstandige app implementeren
Voer de volgende stappen uit om uw app te implementeren als een zelfstandige app:
Zorg ervoor dat SSH is ingeschakeld op uw apparaat. Raadpleeg voor Raspberry Pi het instellen van een SSH-server in de Raspberry Pi-documentatie.
Publiceer de app als volgt op de ontwikkelcomputer, afhankelijk van de ontwikkelomgeving.
Als u Visual Studio gebruikt, implementeert u de app in een lokale map. Voordat u gaat publiceren, selecteert u Bewerken in de samenvatting van het publicatieprofiel en selecteert u het tabblad Instellingen. Zorg ervoor dat de implementatiemodus is ingesteld op Zelfstandig en doelruntime is ingesteld op linux-arm64.
Als u de .NET CLI gebruikt, gebruikt u de opdracht dotnet publish met de
--runtime linux-arm64
en--self-contained
argumenten:dotnet publish --runtime linux-arm64 --self-contained
Belangrijk
Als u een 32-bits besturingssysteem gebruikt, moet u zich richten op de
linux-arm
runtime.Kopieer met behulp van een SFTP-client als
scp
volgt de bestanden van de publicatielocatie op de ontwikkelcomputer naar een nieuwe map op de SBC.Als u bijvoorbeeld de
scp
opdracht wilt gebruiken om bestanden van de ontwikkelcomputer naar uw SBC te kopiëren, opent u een opdrachtprompt en voert u het volgende uit:scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Hierin:
- De
-r
optie geeft aanscp
om bestanden recursief te kopiëren. - /publish-location/ is de map waarnaar u in de vorige stap hebt gepubliceerd.
pi@raspberypi
is de gebruikers- en hostnamen in de indeling<username>@<hostname>
.- /home/pi/deployment-location/ is de nieuwe map op de SBC.
Tip
Recente versies van Windows hebben OpenSSH, waaronder
scp
vooraf geïnstalleerd.- De
Voer de app uit vanaf een Bash-prompt op het apparaat (lokaal of SSH). Hiervoor stelt u de huidige map in op de implementatielocatie en voert u de volgende stappen uit:
Geef de uitvoerbare uitvoermachtiging (de naam van
HelloWorld
het uitvoerbare bestand).chmod +x HelloWorld
Voer het uitvoerbare bestand uit.
./HelloWorld