Déployer des applications .NET sur des ordinateurs monocartes ARM
Le déploiement d’applications .NET sur des ordinateurs monocartes est identique à celui de toute autre plateforme. Votre application peut s’exécuter sous des modes de déploiement autonomes ou dépendants de l’infrastructure. Chaque stratégie présente des avantages. Pour plus d’informations, consultez la vue d’ensemble de la publication d’applications .NET.
Déploiement d’une application dépendante du framework
Pour déployer votre application en tant qu’application dépendante de l’infrastructure, procédez comme suit :
Vérifiez que SSH est activé sur votre appareil. Pour Raspberry Pi, reportez-vous à la section Configuration d’un serveur SSH dans la documentation Raspberry Pi.
Installez .NET sur l’appareil à l’aide des scripts dotnet-install. Effectuez les étapes suivantes à partir d’une invite Bash sur l’appareil (local ou SSH) :
Exécutez la commande suivante pour installer .NET :
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
Notes
Cela installe la dernière version. Si vous avez besoin d’une version spécifique, remplacez le paramètre
--channel STS
par--version <VERSION>
, où<VERSION>
est la version du build spécifique.Pour simplifier la résolution des chemins d’accès, ajoutez une variable d’environnement
DOTNET_ROOT
et ajoutez le répertoire .dotnet à$PATH
à l’aide des commandes suivantes :echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc source ~/.bashrc
Vérifiez l’installation de .NET avec la commande suivante :
dotnet --version
Vérifiez que la version affichée correspond à la version que vous avez installée.
Publiez l’application sur l’ordinateur de développement comme suit, en fonction de l’environnement de développement.
- Si vous utilisez Visual Studio, déployez l’application dans un dossier local. Avant de publier, sélectionnez Modifier dans le résumé du profil de publication et sélectionnez l’onglet Paramètres. Vérifiez que Mode de déploiement est défini sur Dépendant de l’infrastructure et que Runtime cible est défini sur Portable.
- Si vous utilisez l’interface .NET CLI, utilisez la commande dotnet publish. Aucun argument supplémentaire n’est requis.
À l’aide d’un client SFTP comme
scp
, copiez les fichiers à partir de l’emplacement de publication sur l’ordinateur de développement vers un nouveau dossier sur le SBC.Par exemple, pour utiliser la commande
scp
pour copier des fichiers à partir de l’ordinateur de développement vers votre SBC, ouvrez une invite de commandes et exécutez les éléments suivants :scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Où :
- L’option
-r
indique àscp
de copier des fichiers de manière récursive. - /publish-location/ est le dossier dans lequel vous avez publié à l’étape précédente.
pi@raspberypi
correspond aux noms d’utilisateur et d’hôte au format<username>@<hostname>
.- /home/pi/deployment-location/ est le nouveau dossier sur le SBC.
Conseil
Les versions récentes de Windows ont OpenSSH, qui inclut
scp
, préinstallé.- L’option
À partir d’une invite Bash sur le Raspberry Pi (local ou SSH), exécutez l’application. Pour ce faire, définissez le dossier de déploiement comme répertoire actif et exécutez la commande suivante (où HelloWorld.dll est le point d’entrée de l’application) :
dotnet HelloWorld.dll
Déploiement d’une application autonome
Pour déployer votre application en tant qu’application autonome, procédez comme suit :
Vérifiez que SSH est activé sur votre appareil. Pour Raspberry Pi, reportez-vous à la section Configuration d’un serveur SSH dans la documentation Raspberry Pi.
Publiez l’application sur l’ordinateur de développement comme suit, en fonction de l’environnement de développement.
Si vous utilisez Visual Studio, déployez l’application dans un dossier local. Avant de publier, sélectionnez Modifier dans le résumé du profil de publication et sélectionnez l’onglet Paramètres. Vérifiez que le Mode de déploiement est défini sur Autonome et que le Runtime cible est défini sur linux-arm64.
Si vous utilisez l’interface .NET CLI, utilisez la commande dotnet publish avec les arguments
--runtime linux-arm64
et--self-contained
:dotnet publish --runtime linux-arm64 --self-contained
Important
Si vous utilisez un système d’exploitation 32 bits, vous devez cibler le runtime
linux-arm
.À l’aide d’un client SFTP comme
scp
, copiez les fichiers à partir de l’emplacement de publication sur l’ordinateur de développement vers un nouveau dossier sur le SBC.Par exemple, pour utiliser la commande
scp
pour copier des fichiers à partir de l’ordinateur de développement vers votre SBC, ouvrez une invite de commandes et exécutez les éléments suivants :scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
Où :
- L’option
-r
indique àscp
de copier des fichiers de manière récursive. - /publish-location/ est le dossier dans lequel vous avez publié à l’étape précédente.
pi@raspberypi
correspond aux noms d’utilisateur et d’hôte au format<username>@<hostname>
.- /home/pi/deployment-location/ est le nouveau dossier sur le SBC.
Conseil
Les versions récentes de Windows ont OpenSSH, qui inclut
scp
, préinstallé.- L’option
À partir d’une invite Bash sur l’appareil (local ou SSH), exécutez l’application. Pour ce faire, définissez le répertoire actif sur l’emplacement de déploiement et effectuez les étapes suivantes :
Accordez l’autorisation d’exécution à l’exécutable (où
HelloWorld
est le nom du fichier exécutable).chmod +x HelloWorld
Exécutez l’exécutable.
./HelloWorld