Partager via


Déployer des applications .NET sur des ordinateurs à carte unique ARM

Le déploiement d’applications .NET sur des ordinateurs à carte unique est identique à celui de toute autre plateforme. Votre application peut s’exécuter en tant que modes de déploiement autonomes ou dépendants du framework . Il existe des avantages pour chaque stratégie. Pour plus d’informations, consultez la vue d’ensemble de la publication d’applications .NET.

Déploiement d’une application dépendante de l’infrastructure

GIF animé montrant un diagramme de déploiement dépendant de l’infrastructure. Le Kit de développement logiciel (SDK) crée les assemblys qui nécessitent le runtime .NET sur l’appareil cible.

Pour déployer votre application en tant qu’application dépendante de l’infrastructure, procédez comme suit :

  1. Vérifiez que SSH est activé sur votre appareil. Pour Raspberry Pi, reportez-vous à la configuration d’un serveur SSH dans la documentation Raspberry Pi.

  2. 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) :

    1. Exécutez la commande suivante pour installer .NET :

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

      Remarque

      Cette commande installe la dernière version. Si vous avez besoin d’une version spécifique, remplacez le --channel STS paramètre --version <VERSION>par , où <VERSION> est la version de build spécifique, par exemple 8.0.404. Pour obtenir la liste des versions, consultez les kits SDK .NET pour Visual Studio. Reportez-vous à la colonne « Kit de développement logiciel (SDK) Visual Studio 2022 » pour déterminer le numéro de build complet.

    2. Pour simplifier la résolution de chemins, ajoutez une variable d'environnement DOTNET_ROOT et ajoutez le répertoire .dotnet en utilisant les commandes suivantes:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. 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.

  3. 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, puis sélectionnez l’onglet Paramètres . Vérifiez que le mode de déploiement est défini sur Le runtime dépendant de l’infrastructure et que le runtime cible est défini sur Portable.
    • Si vous utilisez l’interface CLI .NET, utilisez la commande dotnet publish . Aucun argument supplémentaire n’est requis.
  4. À 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 scp commande 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 de copier des fichiers de manière récursive scp .
    • /publish-location/ est le dossier dans lequel vous avez publié à l’étape précédente.
    • pi@raspberrypi est les noms d’utilisateur et d’hôte au format <username>@<hostname>.
    • /home/pi/deployment-location/ est le nouveau dossier sur le SBC.

    Conseil / Astuce

    Les versions récentes de Windows ont OpenSSH, qui inclut scp, préinstallé.

  5. À partir d’une invite Bash sur 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

GIF animé montrant un diagramme de déploiement autonome. Le Kit de développement logiciel (SDK) crée les assemblys regroupés avec le runtime .NET. Par conséquent, il n’existe aucune dépendance requise sur l’appareil cible.

Pour déployer votre application en tant qu’application autonome, procédez comme suit :

  1. Vérifiez que SSH est activé sur votre appareil. Pour Raspberry Pi, reportez-vous à la configuration d’un serveur SSH dans la documentation Raspberry Pi.

  2. 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, puis 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 CLI .NET, utilisez la commande dotnet publish avec les arguments --runtime linux-arm64 et --self-contained :

      dotnet publish --runtime linux-arm64 --self-contained
      

    Importante

    Si vous utilisez un système d’exploitation 32 bits, vous devez cibler le linux-arm runtime.

  3. À 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 scp commande 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 de copier des fichiers de manière récursive scp .
    • /publish-location/ est le dossier dans lequel vous avez publié à l’étape précédente.
    • pi@raspberrypi est les noms d’utilisateur et d’hôte au format <username>@<hostname>.
    • /home/pi/deployment-location/ est le nouveau dossier sur le SBC.

    Conseil / Astuce

    Les versions récentes de Windows ont OpenSSH, qui inclut scp, préinstallé.

  4. À 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 :

    1. Accordez l'autorisation d'exécution au fichier (dont le nom est HelloWorld).

      chmod +x HelloWorld
      
    2. Veuillez exécuter le fichier exécutable.

      ./HelloWorld