Comment configurer un projet .NET pour assurer son succès sur le long terme ?

Comment configurer un projet .NET ? Dans cet article, nous allons passer en revue six étapes clés pour améliorer l’expérience des développeurs sur vos projets .NET. Ces pratiques s’appliquent aussi bien à vous qu’à votre équipe, en garantissant un code propre et une configuration optimisée.

1. Création d’un projet ASP.NET Core Web API

Pour commencer, créez une solution vide dans Visual Studio, puis ajoutez un nouveau projet ASP.NET Core Web API. Voici les principales configurations initiales :

  • Utilisez la version .NET 9.
  • Configurez HTTPS mais laissez de côté le support des conteneurs et l’orchestration Aspire.
  • Utilisez des Controllers au lieu des APIs minimales.

Après la génération de votre projet, ouvrez le fichier Program.cs, où vous trouverez des services configurés par défaut, ainsi que des composants middleware et OpenAPI.

2. Mise en place d’un fichier EditorConfig

Pour standardiser le style de code dans votre projet :

  • Faites un clic droit sur le projet, ajoutez un fichier EditorConfig.
  • Ce fichier s’appliquera à tous les fichiers du projet. Si vous en ajoutez dans des sous-dossiers, ils auront précédence.

Vous pouvez utiliser un fichier EditorConfig préconfiguré depuis le dépôt officiel de .NET Runtime pour un contrôle plus précis.

3. Configuration des options de build avec Directory.Build.props

Créez un fichier Directory.Build.props à la racine de votre solution pour centraliser les propriétés de build :

  • Définissez le framework cible pour tous les projets (ég. .NET 9).
  • Activez les usings implicites et les types de référence nullables.

Supprimez les propriétés en doublon dans les fichiers projet individuels pour une configuration plus propre.

4. Gestion centralisée des packages NuGet avec Directory.Packages.props

Pour gérer les versions des packages NuGet de manière centralisée :

  • Créez un fichier Directory.Packages.props.
  • Ajoutez les versions des packages NuGet ici, par exemple :
<ItemGroup>
  <PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
</ItemGroup>

Ensuite, dans vos projets, utilisez simplement des références de package sans spécifier la version. Cela simplifie énormément la gestion des dépendances.

5. Amélioration de la qualité du code

Ajoutez des outils d’analyse statique, comme SonarAnalyzer.CSharp, pour détecter les problèmes de qualité. Vous pouvez :

  • Ajouter ce package à tous les projets via Directory.Build.props.
  • Traiter les avertissements comme des erreurs pour garantir un code de haute qualité.

Pour exclure certaines règles, personnalisez la sévérité dans le fichier EditorConfig.

6. Support pour la conteneurisation avec Docker

Ajoutez un fichier Docker à votre projet pour déployer votre application comme conteneur :

  • Faites un clic droit sur le projet, puis ajoutez le support Docker.
  • Visual Studio générera un fichier Docker multi-étapes prêt à l’emploi.

Vous pouvez également activer l’orchestration avec Docker Compose ou .NET Aspire, selon vos besoins. Ces outils permettent d’ajouter des services externes comme une base de données PostgreSQL en quelques lignes de configuration YAML.

7. Configuration d’une intégration continue

Créez un workflow GitHub Actions pour automatiser le build, les tests et le déploiement :

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup .NET
        uses: actions/setup-dotnet@v3
        with:
          dotnet-version: 9.0
      - name: Restore dependencies
        run: dotnet restore
      - name: Build
        run: dotnet build --no-restore
      - name: Test
        run: dotnet test --no-build --verbosity normal

Ce workflow exécutera les builds à chaque push sur la branche principale, assurant ainsi un feedback rapide.

Conclusion

Avec ces six étapes, nous savons maintenant comment configurer un projet .NET et sera prêt à être maintenu sur le long terme, offrant un environnement de travail efficace et standardisé. Si vous souhaitez aller plus loin, pensez à automatiser le déploiement dans le cloud via un pipeline CI/CD.

Faites-moi part de vos retours en commentaire, et n’hésitez pas à partager vos propres astuces pour optimiser vos projets .NET. Jusqu’à la prochaine fois, restez motivés !

Liens: