Implementación de aplicaciones de .NET en equipos de placa única ARM
La implementación de aplicaciones de .NET en equipos de placa única 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:
Asegúrese de que SSH está habilitado en el dispositivo. Para Raspberry Pi, consulte Configuración de un servidor SSH en la documentación de Raspberry Pi.
Instale .NET en el dispositivo con los scripts dotnet-install. Desde un símbolo del sistema de Bash en el dispositivo (local o SSH), realice los pasos siguientes:
Ejecute el comando siguiente para instalar .NET:
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
Nota
De este modo se instala la versión más reciente. Si necesita una versión concreta, reemplace el parámetro
--channel STS
por--version <VERSION>
, donde<VERSION>
es la versión de compilación específica.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
Compruebe la instalación de .NET con el comando siguiente:
dotnet --version
Compruebe que la versión mostrada coincide con la que ha instalado.
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.
Con un cliente SFTP como
scp
, copie los archivos de la ubicación de publicación del equipo de desarrollo en una nueva carpeta del equipo SBC.Por ejemplo, para usar el comando
scp
para copiar archivos del equipo de desarrollo al equipo SBC, 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 ascp
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 equipo SBC.
Sugerencia
Las versiones recientes de Windows tienen OpenSSH, que incluye
scp
preinstalado.- La opción
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:
Asegúrese de que SSH está habilitado en el dispositivo. Para Raspberry Pi, consulte Configuración de un servidor SSH en la documentación de Raspberry Pi.
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 elija la pestaña Configuración. Asegúrese de que Modo de implementación esté establecido en Independiente y Tiempo de ejecución de destino lo esté en linux-arm64.
Si usa la CLI de .NET, utilice el comando dotnet publish con los argumentos
--runtime linux-arm64
y--self-contained
:dotnet publish --runtime linux-arm64 --self-contained
Importante
Si usa una versión de 32 bits del sistema operativo, tiene que usar el entorno de ejecución
linux-arm
.Con un cliente SFTP como
scp
, copie los archivos de la ubicación de publicación del equipo de desarrollo en una nueva carpeta del equipo SBC.Por ejemplo, para usar el comando
scp
para copiar archivos del equipo de desarrollo al equipo SBC, 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 ascp
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 equipo SBC.
Sugerencia
Las versiones recientes de Windows tienen OpenSSH, que incluye
scp
preinstalado.- La opción
Desde un símbolo del sistema de Bash del dispositivo (local o SSH), ejecute la aplicación. Para ello, establezca el directorio actual en la ubicación de implementación y complete los pasos siguientes:
Conceda el permiso execute al ejecutable (donde
HelloWorld
es el nombre del archivo ejecutable).chmod +x HelloWorld
Ejecute el archivo ejecutable.
./HelloWorld