Als ik het commando “update-database” probeer uit te voeren, krijg ik deze uitzondering:
Geef de vlag ‘-Verbose’ op om de SQL-instructies te bekijken die worden toegepast
naar de doeldatabase. System.IO.FileNotFoundException: kon niet
laad bestand of assembly ‘Microsoft.Build.Framework, Version=15.1.0.0,
Culture=neutraal, PublicKeyToken=b03f5f7f11d50a3a’ of een van zijn
afhankelijkheden. Het systeem kan het gespecificeerde bestand niet vinden. Bestandsnaam:
‘Microsoft.Build.Framework, versie=15.1.0.0, cultuur=neutraal,
PublicKeyToken=b03f5f7f11d50a3a’WRN: Logboekregistratie van assemblagebindingen is UITGESCHAKELD. Assemblagebinding inschakelen
foutregistratie, stel de registerwaarde in
[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) naar 1. Opmerking: er
is een prestatiestraf die verband houdt met het mislukken van de assembly-binding
loggen. Om deze functie uit te schakelen, verwijdert u de registerwaarde
[HKLM\Software\Microsoft\Fusion!EnableLog].Kan bestand of assembly ‘Microsoft.Build.Framework niet laden,
Versie=15.1.0.0, Cultuur=neutraal, PublicKeyToken=b03f5f7f11d50a3a’ of
een van zijn afhankelijkheden. Het systeem kan het opgegeven bestand niet vinden.`
Antwoord 1, autoriteit 100%
Ik geloof dat ik hetzelfde probleem had als jij. Ik heb niet de hele foutmelding opgeslagen, maar mijn foutmelding was
‘Kan bestand of assembly niet laden ‘Microsoft.Build.Framework,
Versie=15.1.0.0, Cultuur=neutraal, PublicKeyToken=b03f5f7f11d50a3a’ of
een van zijn afhankelijkheden. Het systeem kan het opgegeven bestand niet vinden.‘
Ik gebruik Visual Studio 2017 en probeerde Update-Database
uit te voeren na Add-Migration
.
Om het probleem op te lossen heb ik Visual Studio gesloten en opnieuw geopend, en vervolgens Update-Database
opnieuw uitgevoerd.
Dit kan je probleem misschien niet oplossen, maar ik dacht ik post het voor het geval het zou helpen.
Antwoord 2, autoriteit 98%
Ons lokale buildscript gebruikte een oudere versie van nuget.exe
(4.7.1.5393
) om NuGet-pakketten te herstellen. We kregen deze fout na het updaten naar Visual Studio 2019 versie 16.5.0
. Bijwerken naar de nieuwste versie van nuget.exe
(5.4.0.6315
) loste het probleem voor ons op.
nuget.exe
kan hier worden gedownload: https://www.nuget.org /downloads.
Antwoord 3, autoriteit 41%
De hoofdoorzaak van dit probleem is afkomstig van relatieve paden in het bestand devenv.exe.config
naar Microsoft.Build.Framework.dll
(zie xml-tags).
Sommige Visual Studio-extensies wijzigen de huidige map en maken relatieve paden ongeldig.
Om het op te lossen, opent u dit bestand in de map C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
. en vervang alle ..\..\MSBuild\15.0\Bin\
door C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
.
Antwoord 4, autoriteit 38%
Ik heb een tijdelijke oplossing gevonden die het probleem voorgoed lijkt op te lossen, in ieder geval in mijn omgeving met VS 2017 Professional 15.5.2 en Entity Framework 6.1.1.
In principe installeert u de DLL (met een paar gerelateerde) in de GAC (Global Assembly Cache) en het probleem zal verdwijnen.
Volg deze stappen:
-
Sluit alle actieve instanties van Visual Studio 2017
-
Lanceer de Visual Studio 2017 Developer Command Prompt
-
Typ de volgende opdrachten (vervang Professional door uw editie, Enterprise of Community, of pas het pad dienovereenkomstig aan):
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"
- Visual Studio 2017 opnieuw starten
In wezen krijgt de GAC (in de meeste gevallen) prioriteit wanneer .NET een DLL probeert te laden en de FileNotFoundException zal verdwijnen omdat uw DLL nu wordt opgelost via de GAC.
Nogmaals, het werkt voor mij en het is gewoon een tijdelijke oplossing, het lost het kernprobleem zelf niet op, maar ik hoef VS in ieder geval niet steeds opnieuw op te starten als ik met EF-migraties probeer te werken, en dat is goed genoeg voor mij.
Antwoord 5, autoriteit 12%
Dit werkte voor mij – het lijkt een niet-ondersteuningsprobleem te zijn dat begint in 2020.
In de Azure Build Pipeline
> NuGet tool installer
stap, verander Version of NuGet.exe to install
naar een nieuwere versie, zoals 5.4.0
. Controleer de versies op https://dist.nuget.org/tools.json.
Probleem is verdwenen en wordt nu succesvol gebouwd.
Antwoord 6, autoriteit 10%
Mijn ontbrekende bestand- of assembly-versie verschilt met de vraag.
Ik krijg deze foutmelding toen ik probeerde mijn ASP.net-project te publiceren
Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Ik heb het probleem opgelost door Microsoft Build Tools 2015
Ik denk dat mijn probleem wordt veroorzaakt doordat ik een project publiceer dat is gebouwd met VS 2015 in VS 2017. Hope kan anderen helpen die hetzelfde probleem hebben.
Antwoord 7, autoriteit 4%
Voor het geval het opnieuw opstarten van Visual Studio niet werkt Ga naar Taakbeheer/Procesverkenner en vaardigheid VBCSCompiler.exe
Stel voor om Procesverkenner
te gebruiken
Antwoord 8, autoriteit 3%
In mijn geval heeft iets (misschien een NuGet-Update) een AssemblyBinding toegevoegd aan het web.config-File:
<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>
Na het verwijderen van die dependAssemby-Entry, kon ik het project opnieuw publiceren.
Antwoord 9, autoriteit 2%
Dit werkte voor mij:
De fout treedt op wanneer ik het nuget restore-commando uitvoer. Nuget-versie 4.6.2. Ik heb twee manieren om dit probleem op te lossen.
Gebruik Nuget 4.8.2 en hoger.
gacutil /i “C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Microsoft.Build.Framework.dll
Antwoord 10
We hadden dit probleem en dit is wat we in ons geval moesten doen:
Het probleem was dat we een databasecommando-interceptor (IDbCommandInterceptor)
hadden geconfigureerd met de naam HttpRuntime.Cache["somekey"
], en om de een of andere reden konden de migratiecommando’s niet worden uitgevoerd vanwege dit. Na het verwijderen van deze afhankelijkheid, liepen alle commando’s perfect. Misschien kon HttpRuntime
de Build Framework-dll niet vinden?
Controleer dus de hele callstackwanneer migratiecommando’s er niet in slagen om te zien of je een soortgelijk probleem hebt.
Antwoord 11
Sluitenen heropeningVisual Studio werkt als een tierelier!
Antwoord 12
Na het proberen van alle bovenstaande methoden en meer – het uitvoeren van de WCF
-app werkte nog steeds niet voor mij. Fout: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0
..
opmerking: geprobeerd VS, pc opnieuw op te starten, processen te doden, de VS-caches, nuget-caches, obj, bin, .vs, pakketmappen op te schonen
Wat voor mij werkte, is het verwijderen van het *.csproj.user
-bestand van het project. Blijkbaar bevatte het een verouderde configuratie. 4 uur verloren om erachter te komen..
Antwoord 13
Ik heb hetzelfde probleem ondervonden bij het updaten van XCode/Mono-componenten op macOS.
Oplossing is om Visual Studio voor Mac bij te werken naar de nieuwste versie.
Ik denk dat dat probleem wordt veroorzaakt door het gebruik van nieuwe MSBuild-tools uit het .NET Core 3.0-pakket dat is geïnstalleerd met de nieuwe XCode/Mono-versie.
Antwoord 14
Bedankt aan degenen die al hebben gepost. Mijn situatie werd opgelost door een combinatie van bovenstaande. Ik heb verschillende versies van Visual Studio gehad: 2015, 2017, 2019. Op een gegeven moment ging de versie van MSBUILD van 15.1 naar 15.9 en ik loste dit probleem op door de C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe.config
bestand om naar bibliotheek 15.9 te verwijzen. Hier is een voorbeeld van een van de items:
<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>
Antwoord 15
De Visual Studio 2019 Community-editie gebruiken. Ik probeerde de andere oplossingen zonder veel geluk, maar nadat ik de NuGet-cache had gewist, leek het probleem opgelost te zijn.
Antwoord 16
Ik heb een herstart uitgevoerd, waarna ik ontdekte dat de lokale webservice die ik gebruikte, werd geblokkeerd door een ander proces dat die poort had ingenomen. Ik heb het proces gecontroleerd en het proces gestopt met TCPViewen zo leek weer te werken.
Antwoord 17
Ik had dit deel in mijn web.config
en verwijderde het gewoon en toen begon het te werken 🙂
<compilation debug="true" targetFramework="4.5.2">
<assemblies>
<add assembly="Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
Antwoord 18
Aanroepen van “MSBuildLocator.RegisterDefaults();” voordat DLL’s worden geopend, werkte voor mij.
Antwoord 19
Probleem: kan bestand of assembly ‘Microsoft.Build.Framework… niet laden’
Oplossing: ik had Microsoft.Build.FrameworkNuget-pakket waarnaar wordt verwezen in mijn project en ik heb de referentie voor Copy Localvan dit NuGet-pakket ingesteld op True, probleem is voor mij opgelost.