.NET-apps implementeren op ARM-computers met één bord
Artikel
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:
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:
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:
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.
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:
De -r optie geeft aan scp 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 scpvooraf geïnstalleerd.
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:
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:
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:
De -r optie geeft aan scp 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 scpvooraf geïnstalleerd.
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
Met ons samenwerken op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en controleren. Bekijk onze gids voor inzenders voor meer informatie.
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.