Verwenden von FUSLOGVW.EXE auf einem Computer ohne Visual Studio

76

Ich habe derzeit einige Probleme mit der Assemblybindung auf unserem Entwicklungsserver. Ich möchte das Problem mit Fusion Log Viewer etwas weiter untersuchen. Da auf dem Computer kein Visual Studio installiert ist, habe ich FUSLOGVW.EXE in einen lokalen Ordner kopiert und dort gestartet.

Soll das funktionieren oder braucht es etwas anderes? Ich habe nicht den Eindruck, dass die Anwendung Fehler protokolliert (und ja, ich habe die richtigen Einstellungen).

Gerrie Schenck
quelle

Antworten:

38

Fuslogvw führt die Protokollierung nicht durch. Der Fusionslader macht das. Fuslogvw zeigt nur die Protokollausgabe an. Erhalten Sie überhaupt Protokolle in dem von Ihnen konfigurierten Ausgabeverzeichnis?

Oh, und es sollte auf einem Computer funktionieren, auf dem Visual Studio nicht installiert ist.

adrianbanks
quelle
Nein, ich erhalte keine Ausgabe, wenn ich mich auf der Festplatte anmelde.
Gerrie Schenck
3
Legen Sie einen expliziten benutzerdefinierten Protokollpfad fest und wählen Sie im Einstellungsdialog "Alle Bindungen auf Festplatte protokollieren". Die Protokolle sollten dort landen. Wenn sie nicht angezeigt werden, überprüfen Sie die Berechtigungen für das Verzeichnis, das Sie als Protokollpfad angegeben haben (und das tatsächlich vorhanden ist).
Adrianbanks
76
Das Kopieren FUSLOGVW.EXEauf einen Computer mit .NET 4.0 ohne Visual Studio funktioniert nicht . Sie müssen das auch flogvwrc.dllin den 1033Ordner unter "Programme (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \"
Brian Chavez
2
@BrianChavez Dies scheint nur für die .NET 4.0-Version des Tools zu gelten. Die .NET 3.5-Version von fuslogvw.exe wird ohne diese DLL ausgeführt.
Ronald Zarīts
4
1. Erstellen Sie irgendwo auf einem Computer mit installiertem .NET 4.0 einen neuen Ordner. 2. Kopieren Sie FUSLOGVW.EXE und flogvwrc.dll in diesen Ordner. 3. Starten Sie Fuslogvw.exe. 4. Gehen Sie zu Einstellungen und aktivieren Sie alle Bindungen auf der Festplatte. 5. Schließen und erneut öffnen. 6. Legen Sie einen expliziten benutzerdefinierten Pfad fest. 7. Starten Sie IIS neu, wenn Sie nach einer asp.net-Anwendung suchen
Sundara Prabu
37

Wie in der obigen Antwort und in den Kommentaren erwähnt, müssen Sie zwei Dinge tun, damit der Fusionslogger auf einem Computer ohne Visual Studio ausgeführt wird:

  1. Auf fuslogvw.exedieses Gerät kopieren . Sie können es finden , wo immer Sie .NET installiert ist (z. B. C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\FUSLOGVW.exe)
  2. Kopieren Sie flogvwrc.dllan denselben Speicherort wie fuslogvw.exeauf diesem Computer. Sie finden es im 1033Unterverzeichnis wo fuslogvw.exewar (zB C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\1033\flogvwrc.dll)

Sobald Sie fuslogvw.exeund flogvwrc.dllzusammen in einem Verzeichnis haben, können Sie den Protokoll-Viewer ausführen. Sie benötigen keine Registrierungsänderungen oder andere Änderungen.

Asche999
quelle
1
Die Erwähnung von flogvwrc.dll ist hier wirklich wichtig, insbesondere wenn Sie die Größe der Dateien bestimmen, die Sie zum Zielcomputer mitnehmen möchten. Vielen Dank!
J Robson
Ich bin froh, dass es dir auch geholfen hat @JRobson. Ich bewahre beide Dateien in einem freigegebenen Ordner auf, damit ich sie problemlos auf einen beliebigen Computer kopieren kann.
Asche999
Frage: Würde es keine Urheberrechtsverletzungen geben, wenn ich diese auf einen Benutzercomputer kopiere?
Sampathsris
@Krumia Ich bin mir nicht sicher, was du mit Urheberrechtsverletzung meinst. Diese Dateien stehen jedem frei zur Verfügung, der .NET herunterlädt und installiert.
Asche999
Dies ist die richtige Antwort.
Bob Denny
31

Das oben genannte hat bei mir nicht funktioniert.

Ich empfehle stattdessen Folgendes:

In: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Fusion

Hinzufügen:

  • ForceLog setzt Wert auf 1 (DWORD)
  • LogFailures setzt den Wert auf 1 (DWORD)
  • LogResourceBinds setzt den Wert auf 1 (DWORD)
  • LogPath (String) setzt den Wert für Protokolle auf Ordner, dh) C: \ FusionLog \

Sehr unkompliziert .. und das hat bei mir funktioniert! Ich benutze Windows 2012 R2.

Gefunden in: http://pauliom.com/2012/01/30/how-to-log-net-binding-errors-when-you-dont-have-fuslogvw-exe/

Vielen Dank

xav
quelle
1
Ich brauchte einen Neustart der Maschine, aber das hat funktioniert. Win Server 2012 r2
InContext
2
Bestätigt, dass ich auch auf Server 2008 arbeite (nach einem Neustart), lasse ich ForceLog = 0, andernfalls protokolliert es auch erfolgreiche Bindungen, was es schwieriger macht, die tatsächlich fehlgeschlagenen zu finden
aL3891
Funktioniert ohne Neustart in Win10.
Peter Taylor
Arbeitete für mich unter Windows Server 2016. Ich habe neu gestartet, ob ich es brauchte oder nicht.
ScottWelker
Zusätzlich zum Kopieren von EXE und DLL in einen neuen Ordner musste ich auch das tun, was @xav beschrieben hat. Siehe auch: techcommunity.microsoft.com/t5/iis-support-blog/…
Thomas Balsløv
5

Sie müssen auch einen LogFailuresSchlüssel HKLM\SOFTWARE\Microsoft\Fusionmit dem DWORDWert von erstellen 1, um das Protokoll zu aktivieren. Sie sollten diesen Wert auf 0 zurücksetzen, wenn Sie nicht testen, da sonst das Protokoll weiter gefüllt wird. Erstellen Sie einen Ordner, z. C:\fuslogund beziehen Sie sich im benutzerdefinierten Protokollpfad unter Einstellungen in der Assembly Binding Log Viewer darauf.

Asche999
quelle
2
Der Schlüssel ist nicht "ForceLog", sondern "LogFailures".
Jorge Fioranelli
3
Und Sie können einen weiteren namens "LogPath" (REG_SZ) mit benutzerdefiniertem Pfad (z. B. c: \ fuslog) hinzufügen
Jorge Fioranelli
@JorgeFioranelli eigentlich ist es beides
Pakman
2

Möglicherweise verwenden Sie die falsche Version von fuslogvw. Überprüfen Sie c: \ Programme \ Microsoft SDKs oder c: \ Programme \ Microsoft.net \ SDK auf eine andere Version des Dienstprogramms.

Dror Helfer
quelle
Ich verwende das aus Visual Studio 2005, um Probleme in 3.5-Assemblys zu überprüfen. Ich denke das ist richtig? Was meinst du noch mit Versionen?
Gerrie Schenck
1

Ich habe einen Assembly Binding Log Viewer namens Fusion ++ geschrieben und auf GitHub gestellt . Es schreibt die Registrierungsschlüssel, die Sie benötigen, um die Protokollierung auf Ihrem Computer zu aktivieren, und analysiert anschließend die Protokolle, damit Sie nicht auf Dateisuche gehen müssen.

Sie können die neueste Version hier oder überocolatey ( choco install fusionplusplus) erhalten.

Ich hoffe, Sie und einige der Besucher hier können damit einige lebenslange Minuten sparen.

Fusion ++

Waescher
quelle
0

Es ist wichtig, dass Sie HKLM \ SOFTWARE \ Microsoft \ Fusion auf 0 setzen, da dies Ihr System Visual Studio und andere Dinge so langsam macht, nur weil die Protokollierung Zeit benötigt, da Hunderte von Dateihandels geöffnet sind. Ich habe Einträge und Protokolldateien für Programme gesehen, bei denen ich nie nach einem Protokoll gefragt habe!

Hier gebe ich Ihnen ein Beispiel dafür, was im Laufe der Zeit passiert. Mir war nicht bewusst, dass Fusion / Fuslogvw alle Arten von Ereignissen protokolliert. Dies sollte beim Starten der Tools klargestellt werden, dass sie weiterhin protokollieren und Ihr System verlangsamen, hauptsächlich wenn VS mit sehr großen Projekten startet. Ich bin dankbar für diese Informationen zum Ausschalten. Ich werde es wieder verwenden, wenn ich es brauche, weil es sonst ein ausgezeichnetes Werkzeug ist. Aber in dieser Hinsicht ist das einfach nur dumm. Josef

E:\Users\C770817\fuslogvw>tree
Folder PATH listing for volume LaCie
Volume serial number is B098-2591
E:.
├───Default
│   ├───4fe3a146
│   ├───6bf3b89
│   ├───758f6436
│   ├───92c7e946
│   ├───addinutil.exe
│   ├───aspnet_regiis.exe
│   ├───b210afcc
│   ├───CreateSchedulerFolder.exe
│   ├───dbb8b39f
│   ├───devenv.exe
│   ├───Duplicati.CommandLine.exe
│   ├───DuplicatiBgMgr.exe
│   ├───e04f35ff
│   ├───EA.exe
│   ├───edd6a3ed
│   ├───ElementsHelper.exe
│   ├───Eval32.exe
│   ├───EXCEL.EXE
│   ├───FxCopCmd.exe
│   ├───FX_{b05566ac-fe9c-4368-be02-7a4cbb7cbe11}
│   ├───FX_{b05566ad-fe9c-4363-be05-7a4cbb7cb510}
│   ├───FX_{b05566ae-fe9c-4363-be05-7a4cbb7cb510}
│   ├───FX_{c7b8fb06-bfe1-4c2e-9217-7a69a95bbac4}
│   ├───FX_{c7b8fb07-bfe1-4c2e-9217-7a69a95bbac4}
│   ├───FX_{d1764f60-2007-4ad4-a1e8-e7714ed4eb5d}
│   ├───GfxUIEx.exe
│   ├───InetMgr.exe
│   ├───InstallUtil.exe
│   ├───IntelliTrace.exe
│   ├───ISSDeployer.exe
│   ├───ISSLauncherTray.exe
│   ├───ISSShortcutManager.exe
│   ├───JabraCiscoJabberDriver.exe
│   ├───JabraDeviceService.exe
│   ├───LocalAccountMgmt.exe
│   ├───MFPPrinterTool.exe
│   ├───Microsoft.VisualStudio.Web.Host.exe
│   ├───mmc.exe
│   ├───MSBuild.exe
│   ├───mscorsvw.exe
│   ├───msdeploy.exe
│   ├───MsDepSvc.exe
│   ├───msvsmon.exe
│   ├───OxygeneRegClean2.exe
│   ├───OxygeneSchemaCatalog.exe
│   ├───pcee4.exe
│   ├───powershell.exe
│   ├───powershellcustomhost.exe
│   ├───RegisterEvent.exe
│   ├───RemObjects.Everwood.LicenseManager.exe
│   ├───sdiagnhost.exe
│   ├───SmsClrHost.exe
│   ├───SMSvcHost.exe
│   ├───Spezpla.exe
│   ├───Spezpla.vshost.exe
│   ├───sqlservr.exe
│   ├───SvcConfigEditor.exe
│   ├───Toolbox2Test.exe
│   ├───TrayCtrlNotify.exe
│   ├───UITServ.exe
│   ├───UserGUI.exe
│   ├───UserInstallTool.exe
│   ├───VideoHost.exe
│   ├───VS2012.4.exe
│   ├───VSIXInstaller.exe
│   ├───vssphost4.exe
│   ├───w3wp.exe
│   ├───WCFSpezplaServiceClient.exe
│   ├───WCFSpezplaServiceClient.vshost.exe
│   ├───WcfSvcHost.exe
│   ├───WebBrowserServer.exe
│   ├───WebDev.WebServer40.exe
│   ├───WebPlatformInstaller.exe
│   ├───WINPROJ.EXE
│   └───wsmprovhost.exe
└───NativeImage
    ├───4fe3a146
    ├───6bf3b89
    ├───758f6436
    ├───92c7e946
    ├───addinutil.exe
    ├───aspnet_regiis.exe
    ├───b210afcc
    ├───CreateSchedulerFolder.exe
    ├───dbb8b39f
    ├───devenv.exe
    ├───Duplicati.CommandLine.exe
    ├───DuplicatiBgMgr.exe
    ├───e04f35ff
    ├───EA.exe
    ├───edd6a3ed
    ├───ElementsHelper.exe
    ├───Eval32.exe
    ├───EXCEL.EXE
    ├───FxCopCmd.exe
    ├───FX_{b05566ac-fe9c-4368-be02-7a4cbb7cbe11}
    ├───FX_{b05566ad-fe9c-4363-be05-7a4cbb7cb510}
    ├───FX_{b05566ae-fe9c-4363-be05-7a4cbb7cb510}
    ├───FX_{c7b8fb06-bfe1-4c2e-9217-7a69a95bbac4}
    ├───FX_{c7b8fb07-bfe1-4c2e-9217-7a69a95bbac4}
    ├───FX_{d1764f60-2007-4ad4-a1e8-e7714ed4eb5d}
    ├───GfxUIEx.exe
    ├───InetMgr.exe
    ├───InstallUtil.exe
    ├───IntelliTrace.exe
    ├───ISSDeployer.exe
    ├───ISSLauncherTray.exe
    ├───ISSShortcutManager.exe
    ├───JabraCiscoJabberDriver.exe
    ├───JabraDeviceService.exe
    ├───LocalAccountMgmt.exe
    ├───MFPPrinterTool.exe
    ├───Microsoft.VisualStudio.Web.Host.exe
    ├───mmc.exe
    ├───MSBuild.exe
    ├───mscorsvw.exe
    ├───msdeploy.exe
    ├───MsDepSvc.exe
    ├───msvsmon.exe
    ├───OxygeneRegClean2.exe
    ├───OxygeneSchemaCatalog.exe
    ├───pcee4.exe
    ├───powershell.exe
    ├───powershellcustomhost.exe
    ├───RegisterEvent.exe
    ├───RemObjects.Everwood.LicenseManager.exe
    ├───sdiagnhost.exe
    ├───SmsClrHost.exe
    ├───SMSvcHost.exe
    ├───Spezpla.exe
    ├───Spezpla.vshost.exe
    ├───SpezplaPlanTest.exe
    ├───sqlservr.exe
    ├───SvcConfigEditor.exe
    ├───Toolbox2Test.exe
    ├───TrayCtrlNotify.exe
    ├───UITServ.exe
    ├───UserGUI.exe
    ├───UserInstallTool.exe
    ├───VideoHost.exe
    ├───VS2012.4.exe
    ├───VSIXInstaller.exe
    ├───vssphost4.exe
    ├───w3wp.exe
    ├───WCFSpezplaServiceClient.exe
    ├───WCFSpezplaServiceClient.vshost.exe
    ├───WcfSvcHost.exe
    ├───WebBrowserServer.exe
    ├───WebDev.WebServer40.exe
    ├───WebPlatformInstaller.exe
    ├───WINPROJ.EXE
    └───wsmprovhost.exe

E:\Users\C770817\fuslogvw>
E:\Users\C770817\fuslogvw>tree > x.txt

E:\Users\C770817\fuslogvw>
Josef Stadelmann
quelle
Nur zur Information - dies ist über die Benutzeroberfläche von FUSLOGVW.exe möglich, indem Sie in "Einstellungen" "Protokoll deaktiviert" auswählen (keine erneute Bearbeitung erforderlich)
Duncan Howe