88 votes

Impossible de charger le fichier ou l'assemblage 'Microsoft.Build.Framework' (VS 2017)

Lorsque j'essaie d'exécuter la commande "update-database", j'obtiens cette exception :

Spécifiez le drapeau '-Verbose' pour visualiser les instructions SQL appliquées à la à la base de données cible. System.IO.FileNotFoundException : Impossible de charger le fichier ou l'assemblage 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou l'une de ses dépendances. dépendances. Le système ne peut pas trouver le fichier spécifié. Nom du fichier : 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

WRN : L'enregistrement des liaisons d'assemblage est désactivé. Pour activer la journalisation des définissez la valeur de registre [HKLM \Software\Microsoft\Fusion !EnableLog] (DWORD) à 1. Note : Il y a les performances sont pénalisées par la journalisation de l'échec de l'assemblage d'assemblage. Pour désactiver cette fonction, supprimez la valeur de registre suivante [HKLM \Software\Microsoft\Fusion !EnableLog].

Impossible de charger le fichier ou l'assemblage 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou l'une de ses dépendances. Le système ne trouve pas le fichier spécifié.``

1 votes

En allemand, ce message d'erreur est le suivant : "Le fichier ou l'assemblage "Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" ou une dépendance de celui-ci n'a pas été trouvé".

0 votes

Installer les outils de construction de Microsoft

95voto

Eightgate Points 723

Je crois que j'ai eu le même problème que vous. Je n'ai pas enregistré tout le message d'erreur, mais mon message d'erreur était le suivant

' Impossible de charger le fichier ou l'assemblage 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié. '

J'utilise Visual Studio 2017 et j'essayais de faire Update-Database après Add-Migration .

Pour résoudre ce problème, j'ai fermer Visual Studio et le rouvrir puis ré-exécuté Update-Database encore.

Cela peut ou non résoudre votre problème, mais j'ai pensé poster juste au cas où cela pourrait vous aider.

6 votes

Oui, il semblerait que "Turn-It-Off-And-On-Again" soit la bonne voie pour résoudre ce cas.

16 votes

Cela fonctionne mais je ne le considère pas comme une réponse correcte. Je voudrais le corriger une fois pour toutes, sans avoir à redémarrer VS.

1 votes

Cela se produit à chaque fois après une migration maintenant et il faut redémarrer complètement le PC pour que cela fonctionne.

42voto

La cause première de ce problème provient des chemins relatifs dans l'interface de l'utilisateur. devenv.exe.config pour Microsoft.Build.Framework.dll (voir les balises xml).

Certaines extensions de Visual Studio modifient le répertoire actuel et rendent les chemins relatifs invalides.

Pour le corriger, ouvrez ce fichier dans le C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ et remplacer tous les ..\..\MSBuild\15.0\Bin\ par C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\ .

0 votes

J'utilise Visual Studio Professioal ; dois-je faire de même ? J'obtiens cette erreur plusieurs fois ?

0 votes

Je n'avais pas de dossier MSBuild sous IDE (version Community), j'ai copié mon MSBuild depuis " C:\Program Fichiers (x86) \Microsoft Visual Studio \2017\Community "et ça n'a rien arrangé.

1 votes

J'utilise 2017 Pro et ceci a réglé le problème pour moi. +1

38voto

Mr Lingua Points 404

J'ai trouvé une solution de contournement qui semble résoudre définitivement le problème, du moins sur mon environnement exécutant VS 2017 Professional 15.5.2 et Entity Framework 6.1.1.

En fait, il suffit d'installer la DLL (et quelques autres connexes) dans le GAC (Global Assembly Cache) pour que le problème disparaisse.

Suivez les étapes suivantes :

  1. Fermez toutes les instances en cours d'exécution de Visual Studio 2017

  2. Lancer l'invite de commande du développeur Visual Studio 2017

  3. Tapez les commandes suivantes (remplacez Professional par votre édition, soit Enterprise ou Community, ou adaptez le chemin en conséquence) :

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll"

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.dll"

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll"

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll"

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll"

    gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll"

  4. Redémarrer Visual Studio 2017

En fait, le GAC sera (dans la plupart des cas) prioritaire lorsque .NET essaiera de charger une DLL et l'exception FileNotFoundException disparaîtra car votre DLL sera maintenant résolue par le GAC.

Encore une fois, cela fonctionne pour moi et c'est simplement une solution de contournement, cela ne résoudra pas le problème de fond lui-même, mais au moins je n'ai pas à redémarrer VS tout le temps lorsque j'essaie de travailler avec les migrations EF, et c'est suffisant pour moi.

1 votes

Ça a marché pour moi aussi. L'invite de commande du développeur Visual Studio 2017 se trouve à l'adresse suivante C:\ProgramData\Microsoft\Windows\Start Menu \Programs\Visual Studio 2017 \Visual Studio Tools et doit être exécuté en tant qu'administrateur.

2 votes

Pour votre information - cela peut causer des problèmes lorsque Microsoft met à jour le produit et que les entrées du GAC deviennent invalides (nouvelle version, ou changement de chemin pro vs entreprise, etc). Notamment un problème lors de la mise à jour vers la dernière version 15.8.0 Si vos projets ne se chargent pas (parce que vous avez utilisé cette solution), voir ici : developercommunity.visualstudio.com/content/problem/311136/

4voto

ArjunShetty Points 748

Au cas où le redémarrage de Visual Studio ne fonctionnerait pas, allez dans le gestionnaire de tâches/explorateur de processus et sélectionnez VBCSCompiler.exe.

enter image description here

Suggérer d'utiliser Explorateur de processus

1 votes

J'essaie cette solution : "Au cas où le redémarrage de Visual Studio ne fonctionnerait pas, allez dans le Gestionnaire des tâches/Explorateur de processus et sélectionnez VBCSCompiler.exe" et cela fonctionne bien.

1voto

Masoud Darvishian Points 910

Fermeture et réouverture Visual Studio fonctionne comme un charme !

0 votes

Malheureusement pas pour moi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X