Implementación de aplicaciones .NET en Raspberry Pi

La implementación de aplicaciones .NET en Raspberry Pi es idéntica a la de cualquier otra plataforma. La aplicación se puede ejecutar según los modos de implementación independiente o dependiente del marco. Cada estrategia tiene sus ventajas. Para obtener más información, vea Información general sobre la publicación de aplicaciones .NET.

Implementación de una aplicación dependiente del marco

Para implementar la aplicación como una aplicación dependiente del marco, complete los pasos siguientes:

  1. Asegúrese de que SSH está habilitado en el dispositivo Raspberry Pi. Si es necesario, consulte el apartado para habilitar un servidor SSH en la documentación de Raspberry Pi.

  2. Instale .NET en el dispositivo Raspberry Pi con los scripts de dotnet-install. Desde un símbolo del sistema de Bash en el dispositivo Raspberry Pi (local o SSH), complete los pasos siguientes:

    1. Ejecute el comando siguiente para instalar .NET:

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

      Nota

      De este modo se instala la versión más reciente. Si necesita una versión concreta, reemplace el parámetro --channel Current por --version <VERSION>, donde <VERSION> es la versión de compilación específica.

    2. Para simplificar la resolución de la ruta de acceso, agregue una variable de entorno DOTNET_ROOT y el directorio .dotnet a $PATH con los comandos siguientes:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Compruebe la instalación de .NET con el comando siguiente:

      dotnet --version
      

      Compruebe que la versión mostrada coincide con la que ha instalado.

  3. Publique la aplicación en el equipo de desarrollo de la siguiente manera, en función del entorno de desarrollo.

    • Si usa Visual Studio, implemente la aplicación en una carpeta local. Antes de la publicación, seleccione Editar en el resumen de perfil de publicación y seleccione la pestaña Configuración. Asegúrese de que Modo de implementación está establecido en Dependiente de marco de trabajo y Tiempo de ejecución de destino en Portable.
    • Si usa la CLI de .NET, utilice el comando dotnet publish. No se necesitan argumentos adicionales.
  4. Con un cliente SFTP como scp, copie los archivos desde la ubicación de publicación en el equipo de desarrollo a una nueva carpeta en el dispositivo Raspberry Pi.

    Por ejemplo, para usar el comando scp a fin de copiar archivos del equipo de desarrollo al dispositivo Raspberry Pi, abra un símbolo del sistema y ejecute lo siguiente:

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

    Donde:

    • La opción -r indica a scp que copie los archivos de forma recursiva.
    • /publish-location/ es la carpeta en la que ha publicado en el paso anterior.
    • pi@raspberypi es el usuario y los nombres de host con el formato <username>@<hostname>.
    • /home/pi/deployment-location/ es la nueva carpeta en el dispositivo Raspberry Pi.

    Sugerencia

    Las versiones recientes de Windows tienen OpenSSH, que incluye scp preinstalado.

  5. Ejecute la aplicación desde un símbolo del sistema de Bash en el dispositivo Raspberry Pi (local o SSH). Para ello, establezca la carpeta de implementación como el directorio actual y ejecute el comando siguiente (donde HelloWorld.dll es el punto de entrada de la aplicación):

    dotnet HelloWorld.dll
    

Implementación de una aplicación independiente

Para implementar la aplicación como una aplicación independiente, complete los pasos siguientes:

  1. Asegúrese de que SSH está habilitado en el dispositivo Raspberry Pi. Si es necesario, consulte el apartado para habilitar un servidor SSH en la documentación de Raspberry Pi.

  2. Publique la aplicación en el equipo de desarrollo de la siguiente manera, en función del entorno de desarrollo.

    • Si usa Visual Studio, implemente la aplicación en una carpeta local. Antes de la publicación, seleccione Editar en el resumen de perfil de publicación y seleccione la pestaña Configuración. Asegúrese de que Modo de implementación está establecido en Independiente y Tiempo de ejecución de destino en linux-arm.

    • Si usa la CLI de .NET, utilice el comando dotnet publish con el argumento -r linux-arm:

      dotnet publish -r linux-arm
      
  3. Con un cliente SFTP como scp, copie los archivos desde la ubicación de publicación en el equipo de desarrollo a una nueva carpeta en el dispositivo Raspberry Pi.

    Por ejemplo, para usar el comando scp a fin de copiar archivos del equipo de desarrollo al dispositivo Raspberry Pi, abra un símbolo del sistema y ejecute lo siguiente:

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

    Donde:

    • La opción -r indica a scp que copie los archivos de forma recursiva.
    • /publish-location/ es la carpeta en la que ha publicado en el paso anterior.
    • pi@raspberypi es el usuario y los nombres de host con el formato <username>@<hostname>.
    • /home/pi/deployment-location/ es la nueva carpeta en el dispositivo Raspberry Pi.

    Sugerencia

    Las versiones recientes de Windows tienen OpenSSH, que incluye scp preinstalado.

  4. Ejecute la aplicación desde un símbolo del sistema de Bash en el dispositivo Raspberry Pi (local o SSH). Para ello, establezca el directorio actual en la ubicación de implementación y complete los pasos siguientes:

    1. Conceda el permiso execute al ejecutable (donde HelloWorld es el nombre del archivo ejecutable).

      chmod +x HelloWorld
      
    2. Ejecute el archivo ejecutable.

      ./HelloWorld