Se rendre au contenu
Ressources › ML.NET › Model Builder ML.NET · Visual Studio 2026

Réparer Model Builder : copier les DLL manquantes

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.

Durée · 5 minutes Droits · administrateur Windows Testé avec · Model Builder 18.0.0.2615401
Le symptôme

Avez-vous l'une de ces erreurs ?

Autre signe : l'entraînement se termine, mais les fichiers .consumption.cs et .training.cs n'apparaissent pas dans le projet.

Erreur n°1, au démarrage de l'entraînement

Could not load file or assembly 'Microsoft.CodeAnalysis.CSharp, Version=4.9.0.0, …' Le fichier spécifié est introuvable.

Erreur n°2, à la génération du code

Visible dans Ouvrir le fichier journal, à la fin de l'entraînement :

Could not load file or assembly 'Microsoft.CodeAnalysis.Workspaces, Version=5.0.0.0, …' Le fichier spécifié est introuvable.
L'explication

Pourquoi ça plante

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.

La bonne nouvelle

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 fichiers

Les 8 DLL à copier

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.

FichierRôleNécessaire pour
Microsoft.CodeAnalysis.dllLe cœur du compilateur RoslynEntraînement
Microsoft.CodeAnalysis.CSharp.dllLa partie de Roslyn qui comprend le C#Entraînement
Microsoft.CodeAnalysis.Workspaces.dllLa mise en forme du code généréGénération du code
Microsoft.CodeAnalysis.CSharp.Workspaces.dllLa mise en forme, spécifique au C#Génération du code
System.Composition.AttributedModel.dllLe système de modules utilisé par la mise en forme du codeGénération du code
System.Composition.Hosting.dllGénération du code
System.Composition.Runtime.dllGénération du code
System.Composition.TypedParts.dllGénération du code

Dossier source, où se trouvent déjà les fichiers

C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\CommonExtensions\Microsoft\VBCSharp\LanguageServices\Core\

Dossier destination, où Model Builder les cherche

C:\Program Files\Microsoft Visual Studio\18\Community\Common7\IDE\CommonExtensions\Microsoft\ModelBuilder\AutoMLService\

Remplacez Community par Professional ou Enterprise selon votre édition de Visual Studio.

La procédure

Copier les fichiers avec PowerShell

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.

01

Fermez complètement Visual Studio

Toutes les fenêtres. Sinon le programme AutoMLService reste en mémoire et ne verra pas les nouveaux fichiers.

02

Ouvrez PowerShell en administrateur

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.

03

Collez ce script et appuyez sur Entrée

Cliquez sur Copier (ou sélectionnez tout le script), puis faites un clic droit dans la fenêtre PowerShell pour coller.

PowerShell · administrateur
# 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
  }
}
04

Vérifiez le résultat

Vous devez voir 8 lignes OK, par exemple :

Résultat attendu
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.

05

Rouvrez Visual Studio et relancez l'entraînement

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…

  • le tableau des modèles testés se remplit pendant l'entraînement ;
  • le journal se termine par COMPLETED ;
  • les fichiers .consumption.cs, .training.cs et .evaluate.cs apparaissent sous le fichier .mbconfig dans l'Explorateur de solutions.
Sans PowerShell

Autre méthode : l'Explorateur de fichiers

Si vous préférez la souris, le résultat est le même.

01

Fermez Visual Studio.

02

Ouvrez le dossier source indiqué plus haut, en collant son chemin dans la barre d'adresse de l'Explorateur.

03

Sélectionnez les 8 fichiers du tableau en maintenant la touche Ctrl, puis faites Ctrl + C.

04

Ouvrez le dossier destination et faites Ctrl + V.

05

Windows demande une autorisation administrateur : cliquez sur Continuer.

06

Vérifiez que les 8 fichiers sont bien présents dans le dossier destination, puis rouvrez Visual Studio.

À ne pas oublier

Si vos textes contiennent des virgules

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.

La solution

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

Dépannage

Questions fréquentes

Le script affiche « Model Builder introuvable »

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.

J'ai le message « Accès refusé » ou « Access denied »

PowerShell n'est pas lancé en administrateur. Fermez-le et recommencez l'étape 02.

Une ligne affiche ÉCHEC

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.

Une nouvelle erreur « Could not load file or assembly » apparaît

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.

L'erreur est revenue après une mise à jour de Visual Studio

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.

Est-ce que je risque d'abîmer Visual Studio ?

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.

Pourquoi des versions différentes (5.12 au lieu de 4.9 ou 5.0) ?

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.

Bon à savoir

Un contournement temporaire

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.

8 DLL · 5 minutes