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 .NET overzicht van het publiceren van toepassingen voor meer informatie.

Een frameworkafhankelijke app implementeren

Animated GIF met een diagram van frameworkafhankelijke implementatie. De SDK maakt de assemblies, 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 scripts dotnet-install. 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 LTS
      

      Opmerking

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

    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, de app implementeren 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 scp, vooraf 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

Animated GIF met een diagram van zelfstandige implementatie. De SDK maakt de assembly's 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, de app implementeren 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 scp, vooraf 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