• Fusion log viewer


    大家在项目中是不是经常遇到DLL引用错误的情况,或者是DLL引用的版本,路径不对的情况。遇到这种情况一般处理起来比较困难,往往会觉得DLL版本正确了,引用路径正确了,为什么程序还是引用的老版本,程序是从什么地方引的老版本呢?为什么会引用到老版本呢?

    今天我在项目中就遇到此种情况,多次google终于找到了一个利器,他可以详尽的分析程序所引用的DLL,包括DLL的路径,版本等。

    Fusion Log viewer:

    此利器可查看windows服务,Asp.net及winform程序的Accemblly引用情况。

    用法如下:

    1. 打开 Fusion Log Viewer. 在开始菜单中的vs菜单下找如下所示的菜单项。

    image

    也可以在vs的控制面板上输入 fuslogvm 回车。

    2. 设置log path,

    image

    注意,此路径必须是程序运行帐号有读写权限。

    如果是Asp.net程序,则需要将注册表项改成:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftFusion
    下的key: ForceLog的值改成1.
     
    3. 运行程序,点击刷新,即可看到各App加载的Dll.
    image
     
    注:asp.net程序要重启应用程序池。
     
    4. 选中某项DLL,点击 “View log”,即可查看此DLL加载的详情。
     
    5. 详情示例如下:
    *** Assembly Binder Log Entry  (2013/8/29 @ 15:51:55) ***
    
    The operation was successful.
    Bind result: hr = 0x0. The operation completed successfully.
    
    Assembly manager loaded from:  C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
    Running under executable  c:windowssystem32inetsrvw3wp.exe
    --- A detailed error log follows. 
    
    === Pre-bind state information ===
    LOG: User = IIS APPPOOLHP
    LOG: DisplayName = HP.EMEA.Users, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
     (Fully-specified)
    LOG: Appbase = file:///E:/WebForm/Benjamin/HP_EMEA/src/HP.EMEA.Web/
    LOG: Initial PrivatePath = E:WebFormBenjaminHP_EMEAsrcHP.EMEA.Webin;E:WebFormBenjaminHP_EMEAsrcHP.EMEA.WebApp_DataDependencies
    LOG: Dynamic Base = C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files
    oot3f9f5b26
    LOG: Cache Base = C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files
    oot3f9f5b26
    LOG: AppName = 3dc751a6
    Calling assembly : HP.EMEA.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
    ===
    LOG: This bind starts in default load context.
    LOG: Using application configuration file: E:WebFormBenjaminHP_EMEAsrcHP.EMEA.Webweb.config
    LOG: Using host configuration file: C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet.config
    LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
    LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3f9f5b26/3dc751a6/HP.EMEA.Users.DLL.
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3f9f5b26/3dc751a6/HP.EMEA.Users/HP.EMEA.Users.DLL.
    LOG: Attempting download of new URL file:///E:/WebForm/Benjamin/HP_EMEA/src/HP.EMEA.Web/bin/HP.EMEA.Users.DLL.
    LOG: Attempting download of new URL file:///E:/WebForm/Benjamin/HP_EMEA/src/HP.EMEA.Web/bin/HP.EMEA.Users/HP.EMEA.Users.DLL.
    LOG: Attempting download of new URL file:///E:/WebForm/Benjamin/HP_EMEA/src/HP.EMEA.Web/App_Data/Dependencies/HP.EMEA.Users.DLL.
    LOG: Assembly download was successful. Attempting setup of file: E:WebFormBenjaminHP_EMEAsrcHP.EMEA.WebApp_DataDependenciesHP.EMEA.Users.dll
    LOG: Entering download cache setup phase.
    LOG: Assembly Name is: HP.EMEA.Users, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    LOG: Binding succeeds. Returns assembly from C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files
    oot3f9f5b263dc751a6assemblydl3edfaf49493cd725_8ca4ce01HP.EMEA.Users.dll.
    LOG: Assembly is loaded in default load context.

    参考:http://msdn.microsoft.com/en-us/library/e74a18c4.aspx

    http://msdn.microsoft.com/en-us/library/e74a18c4%28VS.71%29.aspx#cpgrffusionlogviewerfuslogvwexeanchor8

  • 相关阅读:
    oracle当需要commit
    Win7 扩容磁盘分区
    MP3的频率、比特率、码率与音质的关系
    关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    Java串口通信具体解释
    android 计时器,倒计时
    联想A208T ROOT
    三层架构(我的理解及具体分析)
    Java实现BASE64编解码
  • 原文地址:https://www.cnblogs.com/cxp9876/p/3289438.html
Copyright © 2020-2023  润新知