Dela 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 eller implementera en ramverksberoende applikation

Animerad GIF som visar ett diagram över ramverksberoende distribution. SDK:n skapar sammansättningarna, vilket kräver .NET-körningen på målenheten.

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
      

      Anmärkning

      Det här kommandot 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, till exempel 8.0.404. En lista över versioner finns i .NET SDK:er för Visual Studio. Se kolumnen "Visual Studio 2022 SDK" för att fastställa det fullständiga versionsnumret.

    2. För att förenkla sökvägsupplösningen lägger du till en DOTNET_ROOT miljövariabel och lägger till .dotnet-katalogen i $PATH 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 Studiodistribuerar 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/
    

    Var:

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

    Tips/Råd

    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). Det gör du genom att ange distributionsmappen som den aktuella katalogen och köra följande kommando (där HelloWorld.dll är startpunkten för appen):

    dotnet HelloWorld.dll
    

Distribuera en fristående app

Animerad GIF som visar ett diagram över fristående distribution. SDK skapar sammansättningarna som paketeras med .NET-körningen. Därför krävs inga beroenden på målenheten.

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 Studiodistribuerar 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å linux-arm-runtime.

  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/
    

    Var:

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

    Tips/Råd

    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. Tilldela den körbara filen utföranderättigheter (där HelloWorld är körbar filnamn).

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

      ./HelloWorld