Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In de Logboekviewer voor assemblybindingen worden details weergegeven voor assemblybindingen. Met deze informatie kunt u vaststellen waarom .NET Framework tijdens runtime geen assembly kan vinden. Deze fouten zijn meestal het gevolg van een assembly die is geïmplementeerd op de verkeerde locatie, een systeemeigen installatiekopie die niet meer geldig is of niet meer overeenkomt in versienummers of culturen. Het niet vinden van een assembly in de algemene taalruntime wordt meestal weergegeven als een TypeLoadException assembly in uw toepassing.
Belangrijk
U moet fuslogvw.exe uitvoeren met beheerdersbevoegdheden.
Dit hulpprogramma wordt automatisch geïnstalleerd met Visual Studio. Als u het hulpprogramma wilt uitvoeren, gebruikt u de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell met beheerdersreferenties.
Voer bij de opdrachtprompt de volgende opdracht in:
fuslogvw
In de viewer wordt een vermelding weergegeven voor elke mislukte assemblybinding. Voor elke fout wordt in de viewer het volgende beschreven:
- de toepassing die de binding heeft gestart
- de assembly waarvoor de binding geldt, inclusief naam, versie, cultuur en openbare sleutel
- de datum en tijd van de fout
Procedures...
- De weergave van de logboeklocatie wijzigen
- Details over een specifieke fout weergeven
- Items verwijderen
- De gebruikersinterface vernieuwen
- De logboekinstellingen wijzigen
- Het dialoogvenster Info weergeven
De weergave van de logboeklocatie wijzigen
Selecteer de knop Standaardoptie om bindingsfouten voor alle toepassingstypen weer te geven. Logboekvermeldingen worden standaard opgeslagen in mappen per gebruiker op schijf in de wininet-cache.
Selecteer de knop Aangepaste optie om bindingsfouten weer te geven in een aangepaste map die u opgeeft. U moet de aangepaste locatie opgeven waar u de logboeken wilt opslaan door de aangepaste logboeklocatie in het dialoogvenster Logboekinstellingen in te stellen op een geldige mapnaam. Deze map moet schoon zijn en bevat alleen bestanden die door de runtime worden gegenereerd. Als het een uitvoerbaar bestand bevat dat een fout genereert om te worden geregistreerd, wordt de fout niet vastgelegd omdat het hulpprogramma probeert een map met dezelfde naam als het uitvoerbare bestand te maken. Bovendien mislukt een poging om een uitvoerbaar bestand uit te voeren vanaf de logboeklocatie.
Opmerking
De standaardbindingslocatie verdient de voorkeur aan de aangepaste bindingslocatie. De runtime slaat de standaardbindingslocatie op in de wininet-cache en schoont deze daarom automatisch op. Als u een aangepaste bindingslocatie opgeeft, bent u verantwoordelijk voor het opschonen ervan.
Details over een specifieke fout weergeven
Selecteer de naam van de toepassing van het gewenste item in de viewer.
Klik op de knop Logboek weergeven . U kunt ook dubbelklikken op de geselecteerde vermelding.
In het hulpprogramma worden de volgende details weergegeven over de geselecteerde bindingsfout:
De specifieke reden waarom de binding is mislukt, zoals 'bestand niet gevonden' of 'versie komt niet overeen'.
Informatie over de toepassing die de binding heeft gestart, inclusief de naam, de hoofdmap van de toepassing (AppBase) en een beschrijving van het privézoekpad, indien aanwezig.
De identiteit van de assembly die het hulpprogramma zoekt.
Een beschrijving van beleidsregels voor toepassings-, uitgevers- of beheerdersversies die zijn toegepast.
Of de assembly is gevonden in de globale assemblycache.
Een lijst met alle test-URL's.
De volgende voorbeeldlogboekvermelding bevat gedetailleerde informatie over een mislukte assemblybinding.
*** Assembly Binder Log Entry (3/5/2007 @ 12:54:20 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\fusion.dll
Running under executable C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\graphicfailtest.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: DisplayName = graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
(Fully-specified)
LOG: Appbase = C:\Program Files\Microsoft.NET\FrameworkSDK\Samples\Tutorials\resourcesandlocalization\graphic\cs\
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL
Calling assembly : graphicfailtest, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Processing DEVPATH.
LOG: DEVPATH is not set. Falling through to regular bind.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: graphicfailtest.resources, Version=0.0.0.0, Culture=en-US, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/graphicfailtest.resources/graphicfailtest.resources.DLL.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/graphicfailtest.resources.EXE.
LOG: Attempting download of new URL file:///C:/Program Files/Microsoft.NET/FrameworkSDK/Samples/Tutorials/resourcesandlocalization/graphic/cs/graphicfailtest.resources/graphicfailtest.resources.EXE.
LOG: All probing URLs attempted and failed.
Items verwijderen
Eén vermelding uit het logboek verwijderen:
Selecteer een vermelding in de viewer.
Klik op de knop Item verwijderen .
Alle vermeldingen uit het logboek verwijderen:
- Klik op de knop Alles verwijderen .
De gebruikersinterface vernieuwen
- Klik op de knop Vernieuwen . De viewer detecteert niet automatisch nieuwe logboekvermeldingen terwijl deze wordt uitgevoerd. U moet de knop Vernieuwen gebruiken om ze weer te geven.
De logboekinstellingen wijzigen
Klik op de knop Instellingen om het dialoogvenster Logboekinstellingen te openen.
Het dialoogvenster Info weergeven
Klik op de knop Info .
Bindingslogboeken voor systeemeigen installatiekopieën
Standaard registreert Fuslogvw.exe normale assemblybindingsaanvragen. U kunt ook assemblybindingen registreren voor systeemeigen installatiekopieën die zijn gemaakt met behulp van de Ngen.exe (Native Image Generator).
Logboekassemblybindingen voor systeemeigen installatiekopieën
- Selecteer in de groep Logboekcategorieën de optieknop Systeemeigen installatiekopieën .
In het volgende logboek ziet u een fout die wordt veroorzaakt door een afhankelijkheid die niet bestond toen de systeemeigen installatiekopie voor de toepassing werd gemaakt. Als de afhankelijkheden tijdens runtime verschillen van de afhankelijkheden wanneer Ngen.exe wordt uitgevoerd, is binding met een systeemeigen installatiekopieën niet toegestaan.
*** Assembly Binder Log Entry (12/8/2006 @ 5:22:07 PM) ***
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.
Assembly manager loaded from: E:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable E:\test\App.exe
--- A detailed error log follows.
LOG: Start binding of native image App, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: IL assembly loaded from E:\test\App.exe.
LOG: Start validating native image App, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Start validating all the dependencies.
LOG: [Level 1]Start validating native image dependency mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
LOG: Dependency evaluation succeeded.
LOG: [Level 1]Start validating IL dependency b, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
WRN: Dependency assembly was not found at ngen time, but is found at binding time. Disallow using this native image.
WRN: No matching native image found.
LOG: Bind to native image assembly did not succeed. Use IL image.
In het volgende logboek ziet u een systeemeigen installatiekopiebindingsfout die is opgetreden omdat de beveiligingsinstellingen op de computer waarop de toepassing werd uitgevoerd, afwijken van de beveiligingsinstellingen op het moment dat de systeemeigen installatiekopie werd gemaakt.
*** Assembly Binder Log Entry (12/8/2006 @ 5:29:09 PM) ***
The operation failed.
Bind result: hr = 0x80004005. Unspecified error
Assembly manager loaded from: E:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable E:\test\Application101622.exe
--- A detailed error log follows.
LOG: Start binding of native image Application101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: IL assembly loaded from E:\test\Application101622.exe.
LOG: Start validating native image Application101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Start validating all the dependencies.
LOG: [Level 1]Start validating native image dependency mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
LOG: Dependency evaluation succeeded.
LOG: [Level 1]Start validating IL dependency Dependency101622, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null.
LOG: Dependency evaluation succeeded.
LOG: Validation of dependencies succeeded.
LOG: Start loading all the dependencies into load context.
LOG: Loading of dependencies succeeded.
LOG: Bind to native image succeeded.
Native image has correct version information.
Attempting to use native image E:\Windows\assembly\NativeImages_v2.0.50727_64\Application101622\1ac7fadabec4f72575d807501e9fdc72\Application101622.ni.exe.
Rejecting native image because it failed the security check. The assembly's permissions must have changed since the time it was ngenned, or it is running with a different security context.
Discarding native image.
Het dialoogvenster Logboekinstellingen
U kunt het dialoogvenster Logboekinstellingen gebruiken om de volgende acties uit te voeren.
Logboekregistratie uitschakelen
- Selecteer de knop Uitgeschakeld logboek . Houd er rekening mee dat deze optie standaard is geselecteerd.
Assemblybindingen vastleggen in uitzonderingen
Selecteer de knop Voor tekst van uitzonderingstekst aanmelden . Alleen de minst gedetailleerde informatie over fusielogboeken wordt vastgelegd in uitzonderingstekst. Als u volledige informatie wilt weergeven, gebruikt u een van de andere instellingen.
Zie de belangrijke opmerking met betrekking tot assembly's die als domeinneutraal worden geladen.
Bindingsfouten voor assembly's vastleggen
Selecteer de knop Logboekbindingsfouten naar schijfoptie .
Zie de belangrijke opmerking met betrekking tot assembly's die als domeinneutraal worden geladen.
Alle assemblybindingen vastleggen
Selecteer de knop Alle bindingen vastleggen met schijfoptie .
Zie de belangrijke opmerking met betrekking tot assembly's die als domeinneutraal worden geladen.
Belangrijk
Wanneer een assembly als domeinneutraal wordt geladen, bijvoorbeeld door de LoaderOptimization eigenschap in te LoaderOptimization.MultiDomain stellen op of LoaderOptimization.MultiDomainHost, kan het inschakelen van logboekregistratie in sommige gevallen geheugenlekken. Dit kan gebeuren als er een logboekvermelding wordt gemaakt wanneer een domeinneutrale module in een toepassingsdomein wordt geladen en later het toepassingsdomein wordt verwijderd. De logboekvermelding wordt mogelijk pas vrijgegeven nadat het proces is beëindigd. Sommige foutopsporingsprogramma's schakelen logboekregistratie automatisch in.
Een aangepast logboekpad inschakelen
Selecteer de optieknop Aangepast logboekpad inschakelen .
Voer het pad in het tekstvak Aangepast logboekpad in.
Opmerking
De Viewer voor assemblybindingslogboeken (Fuslogvw.exe) maakt gebruik van de cache voor internetbestanden om het bindingslogboek op te slaan. Vanwege incidentele beschadiging in de cache kan de Assembly Binding Log Viewer (Fuslogvw.exe) soms stoppen met het weergeven van nieuwe bindingslogboeken. Als gevolg van deze beschadiging kan de .NET-bindingsinfrastructuur (fusion) niet schrijven naar of lezen vanuit het bindingslogboek. (Dit probleem is niet opgetreden als u een aangepast logboekpad gebruikt.) Als u de beschadiging wilt oplossen en samenvoeging wilt toestaan om bindingslogboeken opnieuw weer te geven, wist u de cache van het internetbestand door tijdelijke internetbestanden te verwijderen uit de sectie Browsegeschiedenis onder Interneteigenschappen.
Als uw niet-beheerde toepassing als host fungeert voor de algemene taalruntime door de IHostAssemblyManager en IHostAssemblyStore interfaces te implementeren, kunnen logboekvermeldingen niet worden opgeslagen in de wininet-cache. Als u logboekvermeldingen wilt weergeven voor aangepaste hosts die deze interfaces implementeren, moet u een alternatief logboekpad opgeven.
Logboekregistratie inschakelen voor apps die worden uitgevoerd in de Windows-app-container
Schakel een aangepast logboekpad in, zoals beschreven in de vorige procedure. Standaard hebben apps die worden uitgevoerd in de Windows-app-container beperkte toegang tot de harde schijf. De map die u opgeeft, heeft lees-/schrijftoegang voor alle apps in de app-container.
Schakel het selectievakje Insluitende logboekregistratie inschakelen in.
Opmerking
Dit vak is alleen ingeschakeld in Windows 8 of hoger.