Fuslogvw.exe (Loggvisningsprogram för sammansättningsbindning)
Loggboken för sammansättningsbindning visar information om sammansättningsbindningar. Den här informationen hjälper dig att diagnostisera varför .NET Framework inte kan hitta en sammansättning vid körning. Dessa fel är vanligtvis resultatet av en sammansättning som distribueras till fel plats, en intern avbildning som inte längre är giltig eller ett matchningsfel i versionsnummer eller kulturer. Den vanliga språkkörningens misslyckande med att hitta en sammansättning visas vanligtvis som en TypeLoadException i ditt program.
Viktigt
Du måste köra fuslogvw.exe med administratörsbehörighet.
Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell med administratörsautentiseringsuppgifter.
I kommandotolken anger du följande kommando:
fuslogvw
Visningsprogrammet visar en post för varje misslyckad sammansättningsbindning. För varje fel beskriver visningsprogrammet:
- programmet som initierade bindningen
- sammansättningen som bindningen gäller för, inklusive namn, version, kultur och offentlig nyckel
- datum och tid för felet
Gör så här...
- Ändra loggplatsvyn
- Visa information om ett specifikt fel
- Ta bort poster
- Uppdatera användargränssnittet
- Ändra logginställningarna
- Visa dialogrutan Om
Ändra loggplatsvyn
Välj alternativknappen Standard för att visa bindningsfel för alla programtyper. Som standard lagras loggposter i kataloger per användare på disken i wininet-cachen.
Välj knappen Anpassat alternativ för att visa bindningsfel i en anpassad katalog som du anger. Du måste ange den anpassade plats där du vill att körningen ska lagra loggarna genom att ange den anpassade loggplatsen i dialogrutan Logginställningar till ett giltigt katalognamn. Den här katalogen ska vara ren och endast innehålla filer som körningen genererar. Om den innehåller en körbar fil som genererar ett fel som ska loggas loggas inte felet eftersom verktyget försöker skapa en katalog med samma namn som den körbara filen. Dessutom misslyckas ett försök att köra en körbar fil från loggplatsen.
Anteckning
Standardbindningsplatsen är att föredra framför den anpassade bindningsplatsen. Körningen lagrar standardbindningsplatsen i wininet-cachen och rensar därför automatiskt bort den. Om du anger en anpassad bindningsplats ansvarar du för att rensa bort den.
Visa information om ett specifikt fel
Välj programnamnet för önskad post i visningsprogrammet.
Klicka på knappen Visa logg . Alternativt kan du dubbelklicka på den markerade posten.
Verktyget visar följande information om det valda bindningsfelet:
Den specifika orsaken till att bindningen misslyckades, till exempel "filen hittades inte" eller "versionsmatchningsfel".
Information om programmet som initierade bindningen, inklusive dess namn, programmets rotkatalog (AppBase) och en beskrivning av den privata sökvägen, om det finns en sådan.
Identiteten för den sammansättning som verktyget letar efter.
En beskrivning av alla principer för program-, utgivare- eller administratörsversioner som har tillämpats.
Om sammansättningen hittades i den globala sammansättningscacheminnet.
En lista över alla avsöknings-URL:er.
Följande exempelloggpost visar detaljerad information om en misslyckad sammansättningsbindning.
*** 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.
Ta bort poster
Så här tar du bort en enda post från loggen:
Välj en post i visningsprogrammet.
Klicka på knappen Ta bort post .
Så här tar du bort alla poster från loggen:
- Klicka på knappen Ta bort alla .
Uppdatera användargränssnittet
- Klicka på knappen Uppdatera . Visningsprogrammet identifierar inte automatiskt nya loggposter när den körs. Du måste använda knappen Uppdatera för att visa dem.
Ändra logginställningarna
Klicka på knappen Inställningar för att öppna dialogrutan Logginställningar .
Visa dialogrutan Om
Klicka på knappen Om .
Bindningsloggar för interna avbildningar
Som standard loggar Fuslogvw.exe normala sammansättningsbindningsbegäranden. Du kan också logga sammansättningsbindningar för interna avbildningar som har skapats med hjälp avNgen.exe (intern avbildningsgenerator).
Loggsammansättningsbindningar för interna avbildningar
- I gruppen Loggkategorier väljer du alternativknappen Interna bilder .
Följande logg visar ett fel som orsakats av ett beroende som inte fanns när den interna avbildningen skapades för programmet. Om beroendena vid körning skiljer sig från beroendena när Ngen.exe körs tillåts inte bindning till en intern avbildning.
*** 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.
Följande logg visar ett internt bildbindningsfel som inträffade eftersom säkerhetsinställningarna på datorn när programmet kördes skiljer sig från säkerhetsinställningarna när den interna avbildningen skapades.
*** 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.
Dialogrutan Logginställningar
Du kan använda dialogrutan Logginställningar för att utföra följande åtgärder.
Inaktivera loggning
- Välj knappen Logga inaktiverad . Observera att det här alternativet är valt som standard.
Logga sammansättningsbindningar i undantag
Välj knappen Logga in undantagstext . Endast den minst detaljerade fusionslogginformationen loggas i undantagstext. Om du vill visa fullständig information använder du någon av de andra inställningarna.
Se viktig information om sammansättningar som läses in som domänneutrala.
Logga sammansättningsbindningsfel
Välj knappen Log bind failures to disk (Loggbindningsfel till disk ).
Se viktig information om sammansättningar som läses in som domänneutrala.
Logga alla sammansättningsbindningar
Välj knappen Logga alla bindningar till diskalternativet .
Se viktig information om sammansättningar som läses in som domänneutrala.
Viktigt
När en sammansättning läses in som domänneutral, till exempel genom att ställa in LoaderOptimization egenskapen till LoaderOptimization.MultiDomain eller LoaderOptimization.MultiDomainHost, kan aktivering av loggning läcka minne i vissa fall. Detta kan inträffa om en loggpost görs när en domänneutral modul läses in i en programdomän och senare programdomänen tas bort. Loggposten kanske inte släpps förrän processen är slut. Vissa felsökningsprogram aktiverar automatiskt loggning.
Så här aktiverar du en anpassad loggsökväg
Välj knappen Aktivera anpassad loggsökväg .
Ange sökvägen i textrutan Anpassad loggsökväg .
Anteckning
Loggboken för sammansättningsbindning (Fuslogvw.exe) använder Internet-filcachen för att lagra bindningsloggen. På grund av enstaka skador i cacheminnet kan loggboken för sammansättningsbindning (Fuslogvw.exe) ibland sluta visa nya bindningsloggar i visningsfönstret. På grund av den här skadan kan .NET-bindningsinfrastrukturen (fusion) inte skriva till eller läsa från bindningsloggen. (Det här problemet uppstår inte om du använder en anpassad loggsökväg.) Om du vill åtgärda skada och låta fusion visa bindningsloggar igen rensar du internetfilcachen genom att ta bort tillfälliga Internetfiler från avsnittet Webbhistorik under Internetegenskaper.
Om ditt ohanterade program är värd för den vanliga språkkörningen genom att implementera gränssnitten IHostAssemblyManager
och IHostAssemblyStore
kan loggposter inte lagras i wininet-cachen. Om du vill visa loggposter för anpassade värdar som implementerar dessa gränssnitt måste du ange en alternativ loggsökväg.
Aktivera loggning för appar som körs i Windows-appcontainern
Aktivera en anpassad loggsökväg enligt beskrivningen i föregående procedur. Som standard har appar som körs i Windows-appcontainern begränsad åtkomst till hårddisken. Den katalog som du anger har läs- och skrivbehörighet för alla appar i appcontainern.
Markera kryssrutan Aktivera avancerad loggning .
Anteckning
Den här rutan är endast aktiverad på Windows 8 eller senare.