Fermez complètement Visual Studio
Toutes les fenêtres. Sinon le programme AutoMLService reste en mémoire et ne verra pas les nouveaux fichiers.
Dans Visual Studio 2026, l'extension ML.NET Model Builder est livrée avec des fichiers en moins. Sans eux, l'entraînement plante, puis la génération du code. Ce manuel vous guide pour les remettre en place en 5 minutes.
Autre signe : l'entraînement se termine, mais les fichiers .consumption.cs et .training.cs n'apparaissent pas dans le projet.
Visible dans Ouvrir le fichier journal, à la fin de l'entraînement :
Quand vous lancez l'entraînement, Model Builder démarre en arrière-plan un petit programme séparé appelé AutoMLService. C'est lui qui teste les algorithmes et qui écrit ensuite le code C# de votre modèle.
Pour fonctionner, AutoMLService utilise le compilateur C# de Microsoft, appelé Roslyn, et un module de .NET appelé System.Composition. Dans la version livrée avec Visual Studio 2026, ces fichiers ont été oubliés dans le dossier d'AutoMLService. Le programme les cherche, ne les trouve pas, et s'arrête.
Visual Studio possède déjà tous ces fichiers ailleurs sur votre ordinateur, dans le dossier de son éditeur C#. Il suffit de les copier au bon endroit. On ne télécharge rien et on ne modifie aucun fichier existant.
Les 4 premières suffisent pour que l'entraînement fonctionne. Les 4 suivantes servent à générer le code du modèle. Copiez les 8 en une seule fois.
| Fichier | Rôle | Nécessaire pour |
|---|---|---|
Microsoft.CodeAnalysis.dll | Le cœur du compilateur Roslyn | Entraînement |
Microsoft.CodeAnalysis.CSharp.dll | La partie de Roslyn qui comprend le C# | Entraînement |
Microsoft.CodeAnalysis.Workspaces.dll | La mise en forme du code généré | Génération du code |
Microsoft.CodeAnalysis.CSharp.Workspaces.dll | La mise en forme, spécifique au C# | Génération du code |
System.Composition.AttributedModel.dll | Le système de modules utilisé par la mise en forme du code | Génération du code |
System.Composition.Hosting.dll | Génération du code | |
System.Composition.Runtime.dll | Génération du code | |
System.Composition.TypedParts.dll | Génération du code |
Dossier source, où se trouvent déjà les fichiers
Dossier destination, où Model Builder les cherche
Remplacez Community par Professional ou Enterprise selon votre édition de Visual Studio.
C'est la méthode recommandée : le script trouve tout seul votre édition de Visual Studio, copie les 8 fichiers et vérifie le résultat.
Toutes les fenêtres. Sinon le programme AutoMLService reste en mémoire et ne verra pas les nouveaux fichiers.
Clic droit sur le bouton Démarrer de Windows, puis Terminal (administrateur). Acceptez la demande d'autorisation en cliquant sur Oui.
Important : le mot « Administrateur » doit apparaître dans le titre de la fenêtre. Sans ces droits, la copie dans C:\Program Files est refusée.
Cliquez sur Copier (ou sélectionnez tout le script), puis faites un clic droit dans la fenêtre PowerShell pour coller.
# 1. Trouver l'édition de Visual Studio 2026 qui contient Model Builder $vs = Get-ChildItem "C:\Program Files\Microsoft Visual Studio\18" -Directory | Where-Object { Test-Path "$($_.FullName)\Common7\IDE\CommonExtensions\Microsoft\ModelBuilder\AutoMLService" } | Select-Object -First 1 if (-not $vs) { Write-Host "Model Builder introuvable dans Visual Studio 2026." -ForegroundColor Red; return } $ext = "$($vs.FullName)\Common7\IDE\CommonExtensions\Microsoft" $src = "$ext\VBCSharp\LanguageServices\Core" $dst = "$ext\ModelBuilder\AutoMLService" # 2. Les 8 DLL à copier $dlls = "Microsoft.CodeAnalysis", "Microsoft.CodeAnalysis.CSharp", "Microsoft.CodeAnalysis.Workspaces", "Microsoft.CodeAnalysis.CSharp.Workspaces", "System.Composition.AttributedModel", "System.Composition.Hosting", "System.Composition.Runtime", "System.Composition.TypedParts" # 3. Copier puis vérifier chaque fichier Write-Host "Visual Studio trouvé : $($vs.Name)" -ForegroundColor Cyan foreach ($d in $dlls) { Copy-Item "$src\$d.dll" -Destination $dst -Force if (Test-Path "$dst\$d.dll") { $v = [Reflection.AssemblyName]::GetAssemblyName("$dst\$d.dll").Version Write-Host " OK $d.dll ($v)" -ForegroundColor Green } else { Write-Host " ÉCHEC $d.dll" -ForegroundColor Red } }
Vous devez voir 8 lignes OK, par exemple :
Visual Studio trouvé : Community
OK Microsoft.CodeAnalysis.dll (5.12.0.0)
OK Microsoft.CodeAnalysis.CSharp.dll (5.12.0.0)
OK Microsoft.CodeAnalysis.Workspaces.dll (5.12.0.0)
OK Microsoft.CodeAnalysis.CSharp.Workspaces.dll (5.12.0.0)
OK System.Composition.AttributedModel.dll (10.0.0.10)
OK System.Composition.Hosting.dll (10.0.0.10)
OK System.Composition.Runtime.dll (10.0.0.10)
OK System.Composition.TypedParts.dll (10.0.0.10)
Les numéros de version peuvent être un peu différents chez vous : ce n'est pas un problème.
Ouvrez votre projet, double-cliquez sur le fichier .mbconfig, allez à l'étape Entraîner et cliquez sur Démarrer l'entraînement.
C'est réussi si…
COMPLETED ;.consumption.cs, .training.cs et .evaluate.cs apparaissent sous le fichier .mbconfig dans l'Explorateur de solutions.Si vous préférez la souris, le résultat est le même.
Fermez Visual Studio.
Ouvrez le dossier source indiqué plus haut, en collant son chemin dans la barre d'adresse de l'Explorateur.
Sélectionnez les 8 fichiers du tableau en maintenant la touche Ctrl, puis faites Ctrl + C.
Ouvrez le dossier destination et faites Ctrl + V.
Windows demande une autorisation administrateur : cliquez sur Continuer.
Vérifiez que les 8 fichiers sont bien présents dans le dossier destination, puis rouvrez Visual Studio.
Une fois l'entraînement réparé, un deuxième piège peut donner un modèle qui n'apprend rien : une précision autour de 0,4 ou 0,5, c'est-à-dire le hasard.
Dans un fichier CSV, les textes qui contiennent une virgule sont entourés de guillemets. Si Model Builder ignore ces guillemets, il coupe la phrase à la virgule et mélange les colonnes. L'étiquette (0 ou 1) est alors remplacée par un morceau de phrase.
À l'étape Données, ouvrez les Options avancées de données et activez l'option qui autorise les guillemets. Dans le fichier .mbconfig, on doit voir "AllowQuoting": true.
Vérifiez que le composant ML.NET Model Builder est installé : Visual Studio Installer → Modifier → Composants individuels → cochez « ML.NET Model Builder ».
Si vous utilisez une autre version que Visual Studio 2026 (dossier 18), ce manuel ne s'applique peut-être pas.
PowerShell n'est pas lancé en administrateur. Fermez-le et recommencez l'étape 02.
Le fichier n'existe pas dans le dossier source. Vérifiez que Visual Studio est à jour (Aide → Rechercher les mises à jour) et envoyez la sortie du script à votre enseignant.
Notez le nom du fichier indiqué dans l'erreur. S'il existe dans le dossier source, copiez-le de la même façon dans le dossier destination. Sinon, transmettez le fichier journal (Ouvrir le fichier journal dans la fenêtre d'erreur) à votre enseignant.
C'est normal : une mise à jour ou une réparation de Visual Studio peut remettre le dossier AutoMLService dans son état d'origine. Relancez simplement le script.
Non. On ajoute des fichiers qui manquaient, sans en modifier ni en supprimer aucun. Ces fichiers proviennent de Visual Studio lui-même. En cas de doute, une réparation depuis Visual Studio Installer remet tout dans l'état d'origine.
Model Builder demande les versions 4.9 et 5.0, mais celles de Visual Studio sont plus récentes (5.12). .NET accepte une version plus récente à la place d'une ancienne, et ces versions fonctionnent très bien avec Model Builder.
Ce problème vient d'un défaut d'installation de l'extension et pourra être corrigé dans une future mise à jour. Si Model Builder fonctionne déjà chez vous, vous n'avez rien à faire.