Delen via


.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 zowel worden uitgevoerd in de implementatiemodi zelfvoorzienende als framework-afhankelijke. Er zijn voordelen voor elke strategie. Zie het overzicht van het publiceren van .NET-toepassingen voor meer informatie.

Een frameworkafhankelijke app implementeren

GIF-animatie met een diagram van frameworkafhankelijke implementatie. De SDK maakt de assembly's, waarvoor de .NET-runtime op het doelapparaat is vereist.

Voer de volgende stappen uit om uw app te implementeren als een frameworkafhankelijke app:

  1. Zorg ervoor dat SSH is ingeschakeld op uw apparaat. Raadpleeg voor Raspberry Pi het instellen van een SSH-server in de Raspberry Pi-documentatie.

  2. 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):

    1. Voer de volgende opdracht uit om .NET te installeren:

      curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
      

      Opmerking

      Met deze opdracht wordt de nieuwste versie geïnstalleerd. Als u een specifieke versie nodig hebt, vervangt u de parameter door --channel STS, waar --version <VERSION> is bijvoorbeeld de specifieke buildversie<VERSION>.8.0.404 Zie .NET SDK's voor Visual Studio voor een lijst met versies. Raadpleeg de kolom Visual Studio 2026 SDK om het volledige buildnummer te bepalen.

    2. Als u paden wilt vereenvoudigen, voegt u een DOTNET_ROOT omgevingsvariabele toe en de map .dotnet aan $PATH met behulp van de volgende opdrachten:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Controleer de .NET-installatie met de volgende opdracht:

      dotnet --version
      

      Controleer of de weergegeven versie overeenkomt met de versie die u hebt geïnstalleerd.

  3. 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.
  4. Kopieer met behulp van een SFTP-client zoals scp 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/
    

    Waar:

    • 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@raspberrypi zijn de gebruikers- en hostnamen in het formaat <username>@<hostname>.
    • /home/pi/deployment-location/ is de nieuwe map op de SBC.

    Hint

    Recente versies van Windows hebben OpenSSH, waaronder scpvooraf geïnstalleerd.

  5. 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

GIF-animatie met een diagram van zelfstandige implementatie. Met de SDK worden de assembly's gemaakt die zijn gebundeld met de .NET-runtime. Er zijn dus geen afhankelijkheden vereist voor het doelapparaat.

Voer de volgende stappen uit om uw app te implementeren als een zelfstandige app:

  1. Zorg ervoor dat SSH is ingeschakeld op uw apparaat. Raadpleeg voor Raspberry Pi het instellen van een SSH-server in de Raspberry Pi-documentatie.

  2. 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.

  3. Kopieer met behulp van een SFTP-client zoals scp 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/
    

    Waar:

    • 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@raspberrypi zijn de gebruikers- en hostnamen in het formaat <username>@<hostname>.
    • /home/pi/deployment-location/ is de nieuwe map op de SBC.

    Hint

    Recente versies van Windows hebben OpenSSH, waaronder scpvooraf geïnstalleerd.

  4. 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:

    1. Geef het uitvoerbare bestand uitvoermachtiging (waarbij HelloWorld de bestandsnaam is).

      chmod +x HelloWorld
      
    2. Voer het uitvoerbare bestand uit.

      ./HelloWorld