【问题标题】:using FUSLOGVW.EXE on a machine with no Visual Studio installed在未安装 Visual Studio 的机器上使用 FUSLOGVW.EXE
【发布时间】:2010-11-03 23:28:13
【问题描述】:

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

这应该有效还是需要其他东西?我没有得到应用程序正在记录任何故障的印象(是的,我的设置是正确的)。

【问题讨论】:

    标签: .net assembly-resolution fusion-log-viewer


    【解决方案1】:

    Fuslogvw 不进行日志记录。 fusion loader 就是这样做的。 Fuslogvw 只显示日志输出。您是否在配置的输出目录中获得任何日志?

    哦,它应该可以在没有安装 Visual Studio 的机器上运行。

    【讨论】:

    • 不,当我选择登录到磁盘时,我没有得到任何输出。
    • 设置明确的自定义日志路径并在设置对话框中选择“记录所有绑定到磁盘”。日志应该在那里结束。如果它们没有出现,请检查您指定为日志路径的目录的权限(并且它确实存在)。
    • FUSLOGVW.EXE 复制到安装了.NET 4.0 的机器没有 Visual Studio不起作用。您还需要复制“Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\”下1033文件夹中的flogvwrc.dll
    • @BrianChavez 似乎这仅适用于该工具的 .NET 4.0 版本。 .NET 3.5 版本的 fuslogvw.exe 无需此 .dll 即可运行。
    • 1.在安装了 .NET 4.0 的机器上的任意位置创建一个新文件夹 2. 将 FUSLOGVW.EXE 和 flogvwrc.dll 复制到该文件夹​​。 3. 启动 Fuslogvw.exe。 4. 转到设置并启用所有绑定到磁盘 5. 关闭并重新打开 6. 设置明确的自定义路径。 7. 如果检查了 asp.net 应用程序,则重新启动 IIS
    【解决方案2】:

    您可能使用了错误版本的 fuslogvw。检查 c:\program files\microsoft SDKs 或 c:\program files\Microsoft.net\SDK 以获取不同版本的实用程序。

    【讨论】:

    • 我正在使用 Visual Studio 2005 中的那个来检查 3.5 程序集中的问题。我认为这是正确的?你对版本还有什么意思?
    【解决方案3】:

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

    【讨论】:

    • 关键不是“ForceLog”,而是“LogFailures”。
    • 您可以添加另一个名为“LogPath” (REG_SZ) 的自定义路径(例如 c:\fuslog)
    • @JorgeFioranelli 实际上是both
    【解决方案4】:

    您必须将 HKLM\SOFTWARE\Microsoft\Fusion 设置为 0,因为它会使您的系统 Visual Studio 和其他东西变得如此缓慢,只是因为在打开数百个文件句柄时日志记录需要时间。我已经看到了我从未要求过日志的程序的条目和日志文件!

    这里我给你一个例子,说明随着时间的推移会发生什么;我不知道 fusion / fuslogvw 会记录所有类型的事件。工具启动时应该明确这一点,它会继续记录并使您的系统变慢,主要是在 VS 启动非常大的项目时。我很感谢有关如何关闭它的信息。当我需要它时,我会再次使用它,因为它是一个很好的工具。但在这方面,这只是愚蠢的。约瑟夫

    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 进入“设置”并选择“禁用日志”(无需注册)
    【解决方案5】:

    上述操作对我不起作用..

    我建议改为:

    在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion

    添加:

    • ForceLog 设置值为 1 (DWORD)
    • Lo​​gFailures 将值设置为 1 (DWORD)
    • Lo​​gResourceBinds 将值设置为 1 (DWORD)
    • Lo​​gPath (String) 将值设置为日志文件夹,即 C:\FusionLog\

    非常简单......这对我有用!我使用的是 Windows 2012 R2。

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

    谢谢

    【讨论】:

    • 我需要重新启动机器,但这有效。赢服务器 2012 r2
    • 确认也在服务器 2008 上工作(重启后)我离开 ForceLog = 0,否则它也会记录成功的绑定,从而更难找到实际失败的绑定
    • 在 Win10 中无需重启即可工作。
    • 在 Windows Server 2016 上为我工作。无论是否需要,我都重新启动了。
    • 除了将 EXE 和 DLL 复制到一个新文件夹之外,我还必须按照@xav 的描述进行操作。另见:techcommunity.microsoft.com/t5/iis-support-blog/…
    【解决方案6】:

    如上面的答案和 cmets 中所述,您需要做两件事才能让融合记录器在没有 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.exe 所在的1033 子目录中找到它(例如C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\1033\flogvwrc.dll

    fuslogvw.exeflogvwrc.dll 放在一个目录中后,您就可以运行日志查看器了。您不需要更改注册表或进行任何其他更改。

    【讨论】:

    • 这里提到的 flogvwrc.dll 非常重要,尤其是在确定将哪些文件带到目标机器上时。谢谢!
    • 很高兴它也帮助了你@JRobson。我将这两个文件保存在一个共享文件夹中,这样我就可以轻松地将它们复制到任何机器上。
    • 问题:如果我将这些复制到用户机器上会不会侵犯版权?
    • @Krumia 我不确定您所说的侵犯版权是什么意思。任何下载和安装 .NET 的人都可以免费使用这些文件。
    • 这是正确的答案。
    【解决方案7】:

    我编写了一个名为 Fusion++ and put it on GitHub 的程序集绑定日志查看器。它会写入您需要在计算机上激活日志记录的注册表项,然后解析日志,这样您就不必进行文件搜索了。

    您可以从here 或通过 Chocolatey (choco install fusionplusplus) 获取最新版本。

    我希望你和这里的一些访客可以用它来节省一些有价值的终生时间。

    【讨论】:

      猜你喜欢
      • 2011-06-10
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 2011-02-05
      • 1970-01-01
      • 2016-07-09
      • 2019-03-19
      相关资源
      最近更新 更多