在未安装Visual Studio的计算机上使用FUSLOGVW.EXE

84

我目前在我们的开发服务器上遇到一些组件绑定问题。我想要使用Fusion Log Viewer进一步调查这个问题。由于该机器没有安装Visual Studio,因此我将FUSLOGVW.EXE复制到本地文件夹并在那里启动它。

这样做应该可以工作,还是需要其他什么?我没有发现该应用程序记录任何故障日志(是的,我的设置都正确)。

7个回答

49
如上面的回答和评论中所提到的,如果要在没有安装Visual Studio的机器上运行融合日志记录器,需要执行以下两个步骤:
  1. fuslogvw.exe 复制到该机器上。您可以在您安装 .NET 的地方找到它(例如:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\FUSLOGVW.exe)。
  2. flogvwrc.dll 复制到与 fuslogvw.exe 相同的位置上。您可以在包含 fuslogvw.exe1033 子目录中找到它(例如:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\1033\flogvwrc.dll)。
一旦您在一个目录中拥有了 fuslogvw.exeflogvwrc.dll,您就可以运行日志查看器了。您不需要进行注册表或任何其他更改。

问题:如果我将这些内容复制到用户的计算机上,会不会有版权侵权的问题? - sampathsris
@Krumia 我不确定你所说的版权侵犯是什么意思。这些文件对于任何下载和安装.NET的人都是免费提供的。 - ashes999

39

Fuslogvw并不负责日志记录,融合加载器才是。Fuslogvw只是显示日志输出。您配置的输出目录中是否有任何日志记录?

另外,它应该可以在没有安装Visual Studio的计算机上工作。


当我选择记录到磁盘时,我没有得到任何输出。 - Gerrie Schenck
3
在设置对话框中设置显式自定义日志路径并选择“将所有绑定记录到磁盘”。日志应该会出现在这里。如果日志没有显示,请检查您指定为日志路径的目录的权限(以及它是否实际存在)。 - adrianbanks
82
FUSLOGVW.EXE拷贝到已安装.NET 4.0但没有Visual Studio的机器上不起作用。您还需要复制位于“Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \”下的1033文件夹中的flogvwrc.dll - Brian Chavez
2
@BrianChavez 看起来这仅适用于工具的.NET 4.0版本。fuslogvw.exe的.NET 3.5版本可以在没有这个.dll的情况下运行。 - Ronald Zarīts
4
  1. 在已安装.NET 4.0 的计算机上创建一个新文件夹。
  2. 将FUSLOGVW.EXE和flogvwrc.dll复制到该文件夹中。
  3. 启动Fuslogvw.exe。
  4. 转到设置并启用所有文件绑定到磁盘。
  5. 关闭并重新打开。
  6. 设置一个明确的自定义路径。
  7. 如果检查asp.net应用程序,则重启IIS。
- Sundara Prabu
从@ashes999看,你只需要exe和它的dll,它们可以放在任何地方。简单易行。 - Bob Denny

34

我尝试上述方法无效。

我建议改为以下操作:

在: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

添加:

  • ForceLog设置值为1(DWORD)
  • LogFailures设置值为1(DWORD)
  • LogResourceBinds设置值为1(DWORD)
  • LogPath(字符串)设置值为日志文件夹,例如 C:\FusionLog\

非常简单明了..这个方法对我有用! 我使用的是Windows 2012 R2.

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

谢谢


1
我需要重启机器,但这个方法有效。Win Server 2012 r2 - InContext
2
经确认,在服务器2008上也可以工作(重启后)。我将ForceLog = 0保持不变,否则它还会记录成功的绑定,使查找实际失败的绑定更加困难。 - aL3891
Win10中无需重启即可运行。 - Peter Taylor
在Windows Server 2016上对我有效。我重新启动了计算机,无论是否需要。 - ScottWelker
除了将EXE和DLL复制到新文件夹中,我还必须执行@xav所描述的操作。另请参见:https://techcommunity.microsoft.com/t5/iis-support-blog/fusion-log-viewer-fuslogvw-exe/ba-p/784396 - Thomas Balsløv

7
我写了一个名为Fusion++的程序集绑定日志查看器并将其放在GitHub上。它会写入需要激活机器上的日志记录的注册表键,并解析日志,以便您无需寻找文件。

您可以从这里或通过chocolatey获取最新版本(choco install fusionplusplus)。

我希望您和这里的一些访问者可以节省一些有价值的时间。

Fusion++


5

您还需要在HKLM\SOFTWARE\Microsoft\Fusion中创建一个名为LogFailures的键,并将其DWORD值设置为1,以打开日志记录。当不进行测试时,应将此值设置回0,否则它将继续填充日志。创建一个文件夹,例如C:\fuslog,并在程序集绑定日志查看器中的设置中引用它。


2
关键字不是“ForceLog”,而是“LogFailures”。 - Jorge Fioranelli
3
您可以添加另一个名为“LogPath”的键(REG_SZ),并附带自定义路径(例如c:\fuslog)。 - Jorge Fioranelli
@JorgeFioranelli 实际上,它是两者都是 - Pakman

1

你可能在使用错误的fuslogvw版本。请检查c:\program files\microsoft SDKs或c:\program files\Microsoft.net\SDK以获取不同版本的工具。


我正在使用Visual Studio 2005中的工具来检查3.5程序集中的问题。我认为这是正确的?你提到的版本还有什么其他含义吗? - Gerrie Schenck

0

很重要的一点是将HKLM\SOFTWARE\Microsoft\Fusion设置为0,因为它会使你的系统、Visual Studio和其他东西变得非常缓慢,仅仅因为日志记录需要时间,而且会打开数百个文件句柄。我曾经看到过一些我从未要求记录的程序的条目和日志文件!

这里我给你一个随着时间推移发生的例子;我没有意识到融合/fuslogvw记录所有类型的事件。当工具启动时应该明确说明它会继续记录并使您的系统变慢,特别是如果VS启动大型项目。我感谢这个关于如何关闭它的信息。在需要时我会再次使用它,因为它本来是一个很好的工具。但在这方面,这只是愚蠢的。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>

仅供参考 - 可以通过FUSLOGVW.exe UI实现,方法是进入“设置”并选择“日志禁用”(无需进行注册表编辑) - Duncan Howe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接