Share via


Implantar aplicativos .NET em computadores ARM de placa única

A implantação de aplicativos .NET em computadores de placa única é idêntica à de qualquer outra plataforma. Seu aplicativo pode ser executado com modos de implantação independentes ou dependentes da estrutura. Há vantagens em cada estratégia. Para saber mais, veja Visão geral de publicação de aplicativos .NET.

Como implantar um aplicativo dependente de estrutura

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

Para implantar um aplicativo dependente de estrutura, siga estas etapas:

  1. Certifique-se de que o SSH esteja ativado no dispositivo. Para o Raspberry Pi, confira Configuração de um servidor SSH na documentação do Raspberry Pi.

  2. Instale o .NET no dispositivo usando os scripts de instalação de dotnet. Siga estas etapas em um prompt do Bash no dispositivo (local ou SSH):

    1. Execute o seguinte comando para instalar o .NET:

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

      Observação

      Isso instala a versão mais recente. Se você precisar de uma versão específica, substitua o parâmetro --channel STS por --version <VERSION>, em que <VERSION> é a versão de build específica.

    2. Para simplificar a resolução do caminho, adicione uma variável de ambiente DOTNET_ROOT e o diretório .dotnet a $PATH com os seguintes comandos:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Verifique a instalação do .NET com o seguinte comando:

      dotnet --version
      

      Verifique se a versão exibida corresponde à versão instalada.

  3. Publique o aplicativo no computador de desenvolvimento como a seguir, de acordo com o ambiente de desenvolvimento.

    • Se você estiver usando o Visual Studio, implante o aplicativo em uma pasta local. Antes de publicar, selecione Editar no resumo do perfil de publicação e clique na guia Configurações. Verifique se o modo de implantação está definido como Dependente da estrutura e se o Runtime de destino está definido como Portátil.
    • Se você estiver usando a CLI do .NET, use o comando dotnet publish. Não são necessários argumentos adicionais.
  4. Usando um cliente SFTP como o scp, copie os arquivos do local de publicação no computador de desenvolvimento para uma nova pasta no SBC.

    Por exemplo, para usar o comando scp a fim de copiar arquivos do computador de desenvolvimento para o SBC, abra um prompt de comando e execute o seguinte:

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

    Em que:

    • A opção -r instrui scp a copiar os arquivos recursivamente.
    • /publish-location/ é a pasta na qual você publicou na etapa anterior.
    • pi@raspberypi são os nomes de usuário e host no formato <username>@<hostname>.
    • /home/pi/deployment-location/ é a nova pasta no SBC.

    Dica

    As versões recentes do Windows têm o OpenSSH, que inclui o scp, pré-instalado.

  5. Em um prompt do Bash no Raspberry Pi (local ou SSH), execute o aplicativo. Para isso, defina a pasta de implantação como o diretório atual e execute o seguinte comando (em que HelloWorld.dll é o ponto de entrada do aplicativo):

    dotnet HelloWorld.dll
    

Como implantar um aplicativo independente

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.

Para implantar um aplicativo independente, siga estas etapas:

  1. Certifique-se de que o SSH esteja ativado no dispositivo. Para o Raspberry Pi, confira Configuração de um servidor SSH na documentação do Raspberry Pi.

  2. Publique o aplicativo no computador de desenvolvimento como a seguir, de acordo com o ambiente de desenvolvimento.

    • Se você estiver usando o Visual Studio, implante o aplicativo em uma pasta local. Antes de publicar, selecione Editar no resumo do perfil de publicação e clique na guia Configurações. Verifique se o modo de implantação está definido como Autocontido e se o Runtime de destino está definido como linux-arm64.

    • Se você estiver usando a CLI do .NET, use o comando dotnet publish com os argumentos --runtime linux-arm64 e --self-contained:

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

    Importante

    Se você estiver usando um sistema operacional de 32 bits, precisará ter como destino o runtime do linux-arm.

  3. Usando um cliente SFTP como o scp, copie os arquivos do local de publicação no computador de desenvolvimento para uma nova pasta no SBC.

    Por exemplo, para usar o comando scp a fim de copiar arquivos do computador de desenvolvimento para o SBC, abra um prompt de comando e execute o seguinte:

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

    Em que:

    • A opção -r instrui scp a copiar os arquivos recursivamente.
    • /publish-location/ é a pasta na qual você publicou na etapa anterior.
    • pi@raspberypi são os nomes de usuário e host no formato <username>@<hostname>.
    • /home/pi/deployment-location/ é a nova pasta no SBC.

    Dica

    As versões recentes do Windows têm o OpenSSH, que inclui o scp, pré-instalado.

  4. Em um prompt do Bash no dispositivo (local ou SSH), execute o aplicativo. Para isso, defina o diretório atual para o local de implantação e siga estas etapas:

    1. Dê a permissão de execução executável (em que HelloWorld é o nome do arquivo executável).

      chmod +x HelloWorld
      
    2. Execute o executável.

      ./HelloWorld