Catégories
.Net

.Net Core sur Raspberry Pi

.NET Core qui vient tout juste de sortir en v3, nous permet d’exécuter nos application en mode console ou autres webapps sur différentes plate-formes et architectures.

Installation du Runtime .NET Core sur Raspberry Pi

Pour faire tourner un site web codé en .NET Core sur un Raspberry Pi, il faut installer le Runtime (plate-forme armhf):

  • installer quelques outils utiles à la suite:
    sudo apt-get install curl libunwind8 gettext
  • puis installer la version souhaitée, chercher le lien ARM32 sur la page de la release (ex: .NET Core Runtime 2.2.0)
    curl -sSL -o dotnet.tar.gz mettre-ici-le-lien-tar.gz
  • créer le dossier et décompresser le fichier récupéré:
    sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

Le Runtime est alors installé, et vous pouvez tester cela avec la commande :  dotnet –info

Publier le site web

Il faut ensuite coté machine de dév, se positionner dans son projet .NET Core (créé par ex avec la version gratuite Visual Studio 2017 Community) puis la publier pour Raspberry avec la commande: dotnet publish -c Release -r linux-arm . Cela va générer un dossier .\bin\Debug\netcoreapp2.1\linux-arm\publish  avec tout les fichiers nécessaire à faire tourner le site !

Il ne reste plus que quelques étapes:

  1. transférer l’intégralité du contenu du dossier publish dans le dossier web de destination sur le Raspberry Pi (ex /var/www/monsupersiteendotnet.core)
  2. chmod 755  la dll du projet (ex chmod 755 monsupersiteendotnet.core.dll)
  3. lancer le projet (à la main) dotnet monsupersiteendotnet.core.dll

et voilà, le site tourne en local en exposant un port spécifié dans launchSettings.json (clé applicationUrl)

Liens

Inspiré de ces post MSDN et d’un post en Francais . Celui ci pour le déploiement