Share via


Implantar aplicativos .NET em computadores de placa única ARM

A implantação de aplicativos .NET em computadores de placa única é idêntica à de qualquer outra plataforma. Seu aplicativo pode ser executado como modos de implantação autônomos ou dependentes da estrutura. Há vantagens em cada estratégia. Para obter mais informações, consulte Visão geral de publicação de aplicativos .NET.

Implantando um aplicativo dependente da 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 seu aplicativo como um aplicativo dependente da estrutura, conclua as seguintes etapas:

  1. Certifique-se de que o SSH está ativado no seu dispositivo. Para o Raspberry Pi, consulte Configurando um servidor SSH na documentação do Raspberry Pi.

  2. Instale o .NET no dispositivo usando os scripts dotnet-install. Conclua as seguintes etapas a partir de um prompt 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
      

      Nota

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

    2. Para simplificar a resolução de caminho, adicione uma DOTNET_ROOT variável de ambiente e adicione o diretório .dotnet com $PATH 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 da seguinte maneira, dependendo do ambiente de desenvolvimento.

    • Se 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 selecione a guia Configurações. Verifique se o modo de implantação está definido como dependente da estrutura e o tempo de execução de destino está definido como portátil.
    • Se estiver usando a CLI do .NET, use o comando dotnet publishing. Não são necessários argumentos adicionais.
  4. Usando um cliente SFTP como scp, copie os arquivos do local de publicação no computador de desenvolvimento para uma nova pasta no SBC.

    Por exemplo, para usar o scp comando para 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 -r opção instrui scp a copiar arquivos recursivamente.
    • /publish-location/ é a pasta na qual você publicou na etapa anterior.
    • pi@raspberypi é o usuário e os nomes de host no formato <username>@<hostname>.
    • /home/pi/deployment-location/ é a nova pasta no SBC.

    Gorjeta

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

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

    dotnet HelloWorld.dll
    

Implantando 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 seu aplicativo como um aplicativo independente, conclua as seguintes etapas:

  1. Certifique-se de que o SSH está ativado no seu dispositivo. Para o Raspberry Pi, consulte Configurando um servidor SSH na documentação do Raspberry Pi.

  2. Publique o aplicativo no computador de desenvolvimento da seguinte maneira, dependendo do ambiente de desenvolvimento.

    • Se 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 selecione a guia Configurações. Verifique se o modo de implantação está definido como autônomo e o tempo de execução de destino está definido como linux-arm64.

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

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

    Importante

    Se você estiver usando um sistema operacional de 32 bits, precisará direcionar o linux-arm tempo de execução.

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

    Por exemplo, para usar o scp comando para 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 -r opção instrui scp a copiar arquivos recursivamente.
    • /publish-location/ é a pasta na qual você publicou na etapa anterior.
    • pi@raspberypi é o usuário e os nomes de host no formato <username>@<hostname>.
    • /home/pi/deployment-location/ é a nova pasta no SBC.

    Gorjeta

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

  4. A partir de um prompt Bash no dispositivo (local ou SSH), execute o aplicativo. Para fazer isso, defina o diretório atual para o local de implantação e conclua as seguintes etapas:

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

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

      ./HelloWorld