Share via


Distribuera .NET-appar på ARM-datorer med enkelkort

Distributionen av .NET-appar till enkortsdatorer är identisk med andra plattformars. Din app kan köras som fristående eller ramverksberoende distributionslägen. Det finns fördelar med varje strategi. Mer information finns i Översikt över publicering av .NET-program.

Distribuera en ramverksberoende app

Animated GIF showing a diagram of framework-dependent deployment. The SDK creates the assemblies, which require the .NET runtime on the target device.

Utför följande steg för att distribuera din app som en ramverksberoende app:

  1. Kontrollera att SSH är aktiverat på enheten. För Raspberry Pi, se Konfigurera en SSH-server i Raspberry Pi-dokumentationen.

  2. Installera .NET på enheten med hjälp av dotnet-install-skripten. Slutför följande steg från en Bash-prompt på enheten (lokal eller SSH):

    1. Kör följande kommando för att installera .NET:

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

      Kommentar

      Detta installerar den senaste versionen. Om du behöver en specifik version ersätter du parametern --channel STS med --version <VERSION>, där <VERSION> är den specifika versionsversionen.

    2. För att förenkla sökvägsmatchningen lägger du till en DOTNET_ROOT miljövariabel och lägger till .dotnet-katalogen$PATH i med följande kommandon:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Kontrollera .NET-installationen med följande kommando:

      dotnet --version
      

      Kontrollera att den version som visas matchar den version som du har installerat.

  3. Publicera appen på utvecklingsdatorn enligt följande, beroende på utvecklingsmiljö.

    • Om du använder Visual Studio distribuerar du appen till en lokal mapp. Innan du publicerar väljer du Redigera i sammanfattningen av publiceringsprofilen och väljer fliken Inställningar. Kontrollera att Distributionsläget är inställt på Framework-beroende och Målkörning är inställt på Bärbar.
    • Om du använder .NET CLI använder du kommandot dotnet publish . Inga ytterligare argument krävs.
  4. Med hjälp av en SFTP-klient som scpkopierar du filerna från publiceringsplatsen på utvecklingsdatorn till en ny mapp i SBC.

    Om du till exempel vill använda scp kommandot för att kopiera filer från utvecklingsdatorn till din SBC öppnar du en kommandotolk och kör följande:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    Där:

    • Alternativet -r instruerar scp att kopiera filer rekursivt.
    • /publish-location/ är mappen som du publicerade till i föregående steg.
    • pi@raspberypi är användarens och värdnamnen i formatet <username>@<hostname>.
    • /home/pi/deployment-location/ är den nya mappen på SBC.

    Dricks

    De senaste versionerna av Windows har OpenSSH, som innehåller scp, förinstallerat.

  5. Kör appen från en Bash-prompt på Raspberry Pi (lokal eller SSH). För att göra detta anger du distributionsmappen som den aktuella katalogen och kör följande kommando (där HelloWorld.dll är startpunkten för appen):

    dotnet HelloWorld.dll
    

Distribuera en fristående app

Animated GIF showing a diagram of self-contained deployment. The SDK creates the assemblies bundled with the .NET runtime. Consequently, there are no dependencies required on the target device.

Utför följande steg för att distribuera din app som en fristående app:

  1. Kontrollera att SSH är aktiverat på enheten. För Raspberry Pi, se Konfigurera en SSH-server i Raspberry Pi-dokumentationen.

  2. Publicera appen på utvecklingsdatorn enligt följande, beroende på utvecklingsmiljö.

    • Om du använder Visual Studio distribuerar du appen till en lokal mapp. Innan du publicerar väljer du Redigera i sammanfattningen av publiceringsprofilen och väljer fliken Inställningar. Kontrollera att distributionsläget är inställt på Fristående och Målkörning är inställt på linux-arm64.

    • Om du använder .NET CLI använder du kommandot dotnet publish med argumenten --runtime linux-arm64 och --self-contained :

      dotnet publish --runtime linux-arm64 --self-contained
      

    Viktigt!

    Om du använder ett 32-bitars operativsystem måste du rikta in dig på körningen linux-arm .

  3. Med hjälp av en SFTP-klient som scpkopierar du filerna från publiceringsplatsen på utvecklingsdatorn till en ny mapp i SBC.

    Om du till exempel vill använda scp kommandot för att kopiera filer från utvecklingsdatorn till din SBC öppnar du en kommandotolk och kör följande:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    Där:

    • Alternativet -r instruerar scp att kopiera filer rekursivt.
    • /publish-location/ är mappen som du publicerade till i föregående steg.
    • pi@raspberypi är användarens och värdnamnen i formatet <username>@<hostname>.
    • /home/pi/deployment-location/ är den nya mappen på SBC.

    Dricks

    De senaste versionerna av Windows har OpenSSH, som innehåller scp, förinstallerat.

  4. Kör appen från en Bash-prompt på enheten (lokal eller SSH). För att göra detta anger du den aktuella katalogen till distributionsplatsen och utför följande steg:

    1. Ge den körbara körningsbehörigheten (där HelloWorld är det körbara filnamnet).

      chmod +x HelloWorld
      
    2. Kör den körbara filen.

      ./HelloWorld