2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Dans le monde magique du développement logiciel, chaque développeur rêve d’avoir une baguette magique capable de transformer le code en applications puissantes d’un simple coup de baguette. Aujourd'hui, nous allons explorer la magie du packaging automatisé de C# pour faciliter la génération de fichiers EXE.
Dans le long parcours du développement logiciel, conditionner le code dans un fichier EXE exécutable est une compétence essentielle. Il protège non seulement le code source, mais offre également aux utilisateurs une expérience d'installation pratique. Cependant, le processus de packaging manuel est fastidieux et sujet aux erreurs, le packaging automatisé est donc devenu une aubaine pour les développeurs.
L’empaquetage automatisé semble mystérieux et hors de portée, mais en fait, avec C# et certains outils, nous pouvons facilement atteindre cet objectif. Nous utiliserons le SDK .NET Core, combiné à des outils CI/CD (intégration continue/déploiement continu), tels que GitHub Actions ou Jenkins, pour réaliser un packaging automatisé.
Tout d’abord, vous avez besoin d’un projet C#. Voici un exemple simple d'application console :
- using System;
-
-
- namespace ConsoleApp
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Hello, World!");
- }
- }
- }
Ensuite, nous utiliserons la commande dotnetpublish de .NET Core pour empaqueter l’application. Dans le répertoire racine du projet, ouvrez l'outil de ligne de commande et exécutez la commande suivante :
dotnet publish -c Release -r win-x64 --self-contained true
Cela générera une application autonome avec toutes les dépendances.
Désormais, nous sommes capables de packager des applications manuellement, mais comment l’automatiser ? Prenons GitHub Actions comme exemple et créons un workflow pour automatiser le processus de packaging.
Dans le répertoire racine du projet, créez un répertoire .github/workflows.
Créez un fichier YAML dans ce répertoire, tel que build.yml.
Écrivez la configuration du workflow comme suit :
- name: Build and Publish
-
-
- on: [push, pull_request]
-
-
- jobs:
- build:
- runs-on: windows-latest
-
-
- steps:
- - uses: actions/checkout@v2
-
-
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: '3.1.x'
-
-
- - name: Build and Publish
- run: dotnet publish -c Release -r win-x64 --self-contained true
Ce workflow s'exécutera automatiquement à chaque validation ou demande d'extraction pour empaqueter l'application.
Bien que l’emballage automatisé soit pratique, vous devez également faire attention à la sécurité. Assurez-vous que vos scripts d'automatisation ne révèlent pas d'informations sensibles telles que des clés API ou des mots de passe de base de données. Dans le même temps, chaque étape du processus d'empaquetage est vérifiée pour garantir que le fichier EXE généré est sûr et n'a pas été falsifié.
Si votre application doit prendre en charge plusieurs plates-formes, telles que Linux ou macOS, vous pouvez modifier la valeur du paramètre -r dans la commande dotnet submit pour l'adapter aux différents environnements d'exécution.
L'empaquetage automatisé est une technologie puissante dans le développement de logiciels. Elle améliore non seulement l'efficacité du développement, mais garantit également la cohérence et la précision du processus d'empaquetage. Grâce à l'exploration de cet article, nous avons appris à utiliser C# et .NET Core pour implémenter un packaging automatisé et à le combiner avec des outils CI/CD pour automatiser l'ensemble du processus.
En tant que développeur C#, nous devons adopter l'automatisation et utiliser des outils et des processus modernes pour simplifier le travail de développement. Agissons la baguette magique de l’automatisation et transformons le code en applications puissantes qui apportent un changement magique au monde.
Produits recommandés du passé :
.NET, inconnu en Chine, est si populaire à l'étranger qu'il dépasse l'imagination ?
Le chemin de l’expansion de C# : innovation ou perdition
Présentation de 6 superbes bibliothèques d'interface utilisateur open source Winform pour .NET
Présentation de l'une des bibliothèques d'interface utilisateur open source .NET les plus populaires
WPF vs Winform, quel est votre choix ?