Kan bestand of assembly ‘Microsoft.Build.Framework’ (VS 2017) niet laden

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-Databaseuit te voeren na Add-Migration.

Om het probleem op te lossen heb ik Visual Studio gesloten en opnieuw geopend, en vervolgens Update-Databaseopnieuw 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.exekan 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.confignaar 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:

  1. Sluit alle actieve instanties van Visual Studio 2017

  2. Lanceer de Visual Studio 2017 Developer Command Prompt

  3. 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"
  1. 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 installerstap, verander Version of NuGet.exe to installnaar 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

voer hier de afbeeldingsbeschrijving in

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 HttpRuntimede 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.configbestand 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.
voer hier de afbeeldingsbeschrijving in


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

Other episodes