Lorsque j'essaye d'exécuter la commande "update-database", j'obtiens cette exception:
Spécifiez l'indicateur «-Verbose» pour afficher les instructions SQL appliquées à la base de données cible. System.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly '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é. Nom de fichier: 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a'
WRN: la journalisation de la liaison d'assemblage est désactivée. Pour activer la journalisation des échecs de liaison d'assembly, définissez la valeur de Registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) sur 1. Remarque: Il existe une pénalité de performances associée à la journalisation des échecs de liaison d'assembly. Pour désactiver cette fonctionnalité, supprimez la valeur de registre [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Impossible de charger le fichier ou l'assembly '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é.
la source
Réponses:
Je crois que j'ai eu le même problème que vous. Je n'ai pas enregistré l'intégralité du message d'erreur, mais mon message d'erreur était
J'utilise Visual Studio 2017 et j'essayais de le faire
Update-Database
aprèsAdd-Migration
.Pour résoudre le problème, j'ai fermé Visual Studio et l' ai rouvert , puis réexécuté
Update-Database
.Cela peut ou non résoudre votre problème, mais je pensais que je publierais juste au cas où cela aiderait.
la source
Notre script de construction local utilisait une ancienne version de
nuget.exe
(4.7.1.5393
) pour restaurer les packages NuGet. Nous avons commencé à obtenir cette erreur après la mise à jour vers la version Visual Studio 201916.5.0
. La mise à jour vers la dernière version denuget.exe
(5.4.0.6315
) a résolu le problème pour nous.nuget.exe
peuvent être téléchargés ici: https://www.nuget.org/downloads .la source
NuGetToolInstaller@0
versNuGetToolInstaller@1
, même sans spécifier une version plus récente. Vous ne savez pas cependant si cela corrige la cause première du problème ou si le correctif est juste un effet secondaire de la suppression du cache local.La cause première de ce problème provient des chemins relatifs dans le
devenv.exe.config
fichier versMicrosoft.Build.Framework.dll
(voir les balises xml).Certaines extensions Visual Studio modifient le répertoire actuel et rendent les chemins relatifs non valides.
Pour résoudre ce problème, ouvrez ce fichier dans le
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
répertoire. et remplacez tout..\..\MSBuild\15.0\Bin\
parC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
.la source
J'ai trouvé une solution de contournement qui semble résoudre le problème pour de bon, du moins sur mon environnement exécutant VS 2017 Professional 15.5.2 et Entity Framework 6.1.1.
Fondamentalement, installez la DLL (avec quelques autres) dans le GAC (Global Assembly Cache) et le problème disparaîtra.
Suivez ces étapes:
Fermer toutes les instances en cours d'exécution de Visual Studio 2017
Lancez l'invite de commande du développeur Visual Studio 2017
Tapez les commandes suivantes (remplacez Professional par votre édition, Enterprise ou Community, ou ajustez 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"
En substance, le GAC aura (dans la plupart des cas) la priorité lorsque .NET essaie de charger une DLL et FileNotFoundException disparaîtra car votre DLL sera désormais résolue via 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 principal lui-même, mais au moins je n'ai pas à redémarrer VS tout le temps lorsque j'essaye de travailler avec des migrations EF, et c'est assez bien pour moi.
la source
Cela a fonctionné pour moi - semble être un problème non lié au support à partir de 2020.
Dans l' étape
Azure Build Pipeline
>,NuGet tool installer
passezVersion of NuGet.exe to install
à une version plus récente, comme5.4.0
. Vérifiez les versions sur https://dist.nuget.org/tools.json .Le problème a disparu et se construit maintenant avec succès.
la source
Ma version de fichier ou d'assemblage manquante est différente avec la question.
J'ai cette erreur lorsque j'ai essayé de publier mon projet ASP.net
Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
J'ai résolu le problème en installant Microsoft Build Tools 2015
Je pense que mon problème est causé par la publication d'un projet qui a été construit avec VS 2015 dans VS 2017. Hope peut aider d'autres personnes qui ont le même problème.
la source
Juste au cas où le redémarrage de Visual Studio ne fonctionne pas Accédez au Gestionnaire de tâches / Explorateur de processus et à la compétence VBCSCompiler.exe
Suggérer d'utiliser Process Explorer
la source
Fermer et rouvrir Visual Studio fonctionne comme un charme!
la source
Dans mon cas, quelque chose (peut-être un NuGet-Update) a ajouté un AssemblyBinding dans le fichier web.config:
<dependentAssembly> <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" /> </dependentAssembly>
Après avoir supprimé cette entrée dépendante, je pourrais à nouveau publier le projet.
la source
Cela a fonctionné pour moi: l'erreur se produit lorsque j'exécute la commande de restauration nuget. Nuget version 4.6.2. J'ai deux façons de résoudre ce problème.
Utilisez Nuget 4.8.2 et supérieur. gacutil / i "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ Microsoft.Build.Framework.dll
la source
Nous avons eu ce problème, et voici ce que nous devions faire dans notre cas:
Le problème était que nous avions
(IDbCommandInterceptor)
configuré un intercepteur de commande de base de données qui appelaitHttpRuntime.Cache["somekey"
], et pour une raison quelconque, les commandes de migration n'ont pas pu s'exécuter à cause de cela. Après avoir supprimé cette dépendance, toutes les commandes se sont parfaitement déroulées. PeutHttpRuntime
- être n'avez -vous pas pu trouver la DLL de Build Framework?Vérifiez donc toute la pile d'appels lorsque les commandes de migration ne parviennent pas à voir si vous rencontrez un problème similaire.
la source
J'ai rencontré le même problème lors de la mise à jour des composants XCode / Mono sur macOS.
La solution consiste à mettre à jour Visual Studio pour Mac vers la dernière version.
Je pense que ce problème cause l'utilisation de nouveaux outils MSBuild à partir du package .NET Core 3.0 installé avec la nouvelle version XCode / Mono.
la source
Merci à ceux qui ont déjà posté. Ma situation a été résolue par une combinaison de ce qui précède. J'ai eu plusieurs versions de Visual Studio: 2015, 2017, 2019. À un moment donné, la version de MSBUILD est passée de 15.1 à 15.9, et j'ai résolu ce problème en mettant à jour le
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe.config
fichier pour pointer vers la bibliothèque 15.9. Voici un exemple de l'une des entrées:<dependentAssembly> <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.9.0.0"/> <codeBase version="15.9.0.0" href="..\..\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll" /> </dependentAssembly>
la source
Utilisation de l'édition communautaire de Visual Studio 2019. J'ai essayé les autres solutions sans beaucoup de chance, mais après m'avoir vidé le cache NuGet, le problème semblait être résolu.
la source