En esta entrado instalaremos todo lo necesario para hacer correr nuestras aplicaciones en c# dentro de la RPi , lo primero sera saber la arquitectura que tenemos en nuesta pi
uname -a root@pi2w1:/home/antonio# uname -a Linux pi2w1 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux
Si el resultado es aarch64 GNU/Linux entonces es de 64 bits , si es armv7l GNU/Linux como en este caso es de 32 bits.
Iremos a esta pagina para localizar el paquete correcto que deseemos ( SDK o runtime ) https://dotnet.microsoft.com/en-us/download/dotnet/3.1
![](https://rivas.cloud/wp-content/uploads/2022/04/image-9.png)
El enlace nos lleva a una pagina de descarga donde copiaremos el direct link , en este caso seria este
Ejecutaremos estos comandos
wget https://download.visualstudio.microsoft.com/download/pr/97d3b167-5605-4de4-a735-04c540f274f3/99dd9fd5195f8725254b4f8d5897bf97/dotnet-runtime-3.1.23-linux-arm.tar.gz mkdir -p $HOME/dotnet && tar zxf dotnet-runtime-3.1.23-linux-arm.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet
Si queremos añadir permanentemente el comando al perfil de la shell deberemos añadirlos a .bashrc
nano ~/.bashrc
Y lo añadiremos al final del archivo
# ~/.bashrc: executed by bash(1) for non-login shells. # Note: PS1 and umask are already set in /etc/profile. You should not # need this unless you want different defaults for root. # PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ ' # umask 022 # You may uncomment the following lines if you want `ls' to be colorized: # export LS_OPTIONS='--color=auto' # eval "`dircolors`" # alias ls='ls $LS_OPTIONS' # alias ll='ls $LS_OPTIONS -l' # alias l='ls $LS_OPTIONS -lA' # # Some more alias to avoid making mistakes: # alias rm='rm -i' # alias cp='cp -i' # alias mv='mv -i' alias velocidad='vnstat -l -i' alias arbol='tree -dh --du' alias ficheros_grandes='du -ak | sort -nr | head -100' alias info_discos='lsblk -o RM,RO,MODEL,NAME,LABEL,FSTYPE,MOUNTPOINT,SIZE,PHY-SEC,LOG-SEC,MODE,OWNER,GROUP,UUID' alias discos='parted -l' alias espacio='df . -h' alias buscar='sudo find / -name ' export DOTNET_ROOT=$HOME/.dotnet export PATH=$PATH:$HOME/.dotnet
y recargaremos la sesión de terminal con los nuevos ajustes
source ~/.bashrc
Con el comando dotnet –info nos devolverá información de la instalación del .NET en nuestra pi
![](https://rivas.cloud/wp-content/uploads/2022/04/image-10.png)
Ahora crearemos un proyecto de prueba llamado Hola Mundo
![](https://rivas.cloud/wp-content/uploads/2022/04/image-14.png)
![](https://rivas.cloud/wp-content/uploads/2022/04/image-15.png)
Automáticamente ya nos creara el código para nuestra primera prueba
using System; namespace Hola_Mundo { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
Iremos a Proyecto / Propiedades / Compilación / Avanzadas y no aseguraremos que información de depuración este como Portable
![](https://rivas.cloud/wp-content/uploads/2022/04/image-11-1024x750.png)
Si lo compilamos veremos que nos ha creado correctamente la dll
![](https://rivas.cloud/wp-content/uploads/2022/04/image-12.png)
Ahora llega la hora de transferirlo a nuestra pi , se puede hacer de varias formas , de momento lo haremos con el comando de PuTTY’s pscp
Si no lo tenéis lo podéis descargar de aqui
![](https://rivas.cloud/wp-content/uploads/2022/04/image-13.png)
crearemos el directorio de destino
root@pi2w1:/home/antonio# mkdir net/holamundo
y alli nos tocara transferir el contenido con el comando pscp
pscp -r -P 22 -pw TU_CONTRASEÑA .\bin\Debug\netcoreapp3.1\*.* antonio@192.168.1.111:/home/antonio/net/holamundo
C:\Users\Antonio\Hola Mundo>pscp -r -P 22 -pw TU_CONTRASEÑA .\bin\Debug\netcoreapp3.1\*.* antonio@192.168.1.111:/home/antonio/net/holamundo Hola Mundo.deps.json | 0 kB | 0.4 kB/s | ETA: 00:00:00 | 100% Hola Mundo.dll | 4 kB | 4.5 kB/s | ETA: 00:00:00 | 100% Hola Mundo.exe | 170 kB | 170.5 kB/s | ETA: 00:00:00 | 100% Hola Mundo.pdb | 9 kB | 9.3 kB/s | ETA: 00:00:00 | 100% Hola Mundo.runtimeconfig. | 0 kB | 0.3 kB/s | ETA: 00:00:00 | 100% Hola Mundo.runtimeconfig. | 0 kB | 0.2 kB/s | ETA: 00:00:00 | 100%
Comprobamos que estén los ficheros
![](https://rivas.cloud/wp-content/uploads/2022/04/image-16.png)
y ejecutamos la aplicación con dotnet Hola\ Mundo.dll , y tendremos que ver nuestro Hola mundo ejecutándose
![](https://rivas.cloud/wp-content/uploads/2022/04/image-17.png)
Con esto y un bizcocho …………