Passer au contenu
cd /languages
.NET de longue duréeProgrammationSupport complet du graphe

Prise en charge de C# dans Maguyva : des refactorisations plus sûres pour les bases de code .NET

Maguyva prend en charge C# avec analyse AST et extraction de symboles, permettant aux agents IA de travailler sur des services .NET, une logique métier riche en LINQ, des bibliothèques partagées et des dépôts d'entreprise de longue durée.

Ce qui compte dans les bases de code .NET matures

De nombreuses équipes qui utilisent des outils IA vivent dans .NET, pas dans du JavaScript en terrain vierge. Elles ont des API, des processus worker, des modèles partagés, des bibliothèques internes et des années de logique métier. La question n’est pas de savoir si un LLM peut produire de la syntaxe C#. La question est de savoir s’il peut rester ancré dans un dépôt où une seule modification incorrecte peut se propager à travers les services, les modèles et les abstractions partagées.

C’est pourquoi une page C# doit aller au-delà d’un simple « pris en charge ».

Ce que Maguyva extrait réellement en C#

Maguyva normalise les imports using, retire des définitions les suffixes de nullabilité et de tableau tels que ? et [], et traite les nœuds d’appel de type constructeur comme des instanciations tout en supprimant les crochets génériques. Ce sont des détails utiles dans les dépôts C# riches en classes, car ils rendent le graphe plus net autour des véritables types métier.

La configuration filtre aussi une grande partie du bruit lié à la BCL et à LINQ. Cela compte plus qu’il n’y paraît. Dans les bases de code .NET matures, un graphe dominé par les appels de framework n’est pas très utile. Le graphe utile est celui où les contrôleurs, services, DTO et classes utilitaires propres au dépôt ressortent encore clairement.

Flux de travail MCP utiles pour les bases de code .NET

Le flux pratique commence généralement par :

  • find_symbol quand vous connaissez le nom du contrôleur, du service, du DTO ou du modèle.
  • dependency_search avant de modifier un service ou un type partagé susceptible d’avoir un usage entrant étendu.
  • get_task_context pour des requêtes du type « suivre cette requête du contrôleur jusqu’au dépôt de données » lorsque le chemin traverse plusieurs couches.

Quand cette page est utile

Cette page s’adresse aux équipes qui souhaitent une assistance IA au sein d’une véritable base de code .NET, pas d’un simple projet jouet. Si le système environnant relève davantage de la JVM que de .NET, comparez avec Java. Si votre couche C# n’est qu’une partie d’un système polyglotte plus large, la page adjacente TypeScript est généralement pertinente aussi.

Idéal pour

  • >Les dépôts ASP.NET, worker-service et de plateforme interne qui mélangent points d'accès web, tâches planifiées et bibliothèques partagées.
  • >Les équipes qui maintiennent des parcs .NET matures où LINQ, les flux asynchrones et les abstractions de framework masquent le véritable chemin d'exécution.
  • >Les équipes qui testent la capacité d'un agent à rester ancré dans du code .NET en couches avant de réécrire la logique métier.

Workflows d'agent

  • >Suivre un chemin contrôleur, service et dépôt de données avant de modifier la logique métier.
  • >Inspecter où un modèle, un DTO ou un utilitaire partagé est instancié dans l'ensemble du dépôt.
  • >Comprendre les schémas LINQ ou asynchrones environnants avant de laisser l'agent réécrire quoi que ce soit.

Détails du moteur

  • >Les préfixes `using` sont normalisés sur les imports, et les suffixes nullable ou tableau comme `?` et `[]` sont retirés des définitions de symboles.
  • >L'instanciation utilise des nœuds d'appel avec retrait des crochets génériques, ce qui aide à garder l'usage de type constructeur lisible dans le graphe.
  • >La config filtre explicitement une grande quantité de bruit BCL et LINQ pour que les services et modèles propres au dépôt soient plus faciles à faire remonter.

Points d'entrée MCP utiles

  • find_symbol

    Utilisez-le quand vous connaissez le nom du contrôleur, service, DTO ou type partagé que vous allez toucher.

  • dependency_search

    Utilisez la traversée entrante avant de modifier un service central ou un modèle utilisé dans toute l'application.

  • get_task_context

    Utile pour des prompts comme « suivre cette requête du contrôleur au dépôt » dans les dépôts .NET en couches.