【问题标题】:How to know which application is using an Assembly in GAC?如何知道哪个应用程序正在使用 GAC 中的程序集?
【发布时间】:2010-02-22 16:52:21
【问题描述】:

如何知道哪个应用程序正在使用 GAC 中的 Assembly?我想从 GAC 中删除 不需要的 程序集,但它没有被删除,因为它被其他应用程序使用

【问题讨论】:

    标签: .net asp.net assemblies gac


    【解决方案1】:

    您可以使用Process Explorer 来查找使用文件的进程。

    【讨论】:

    • 如果某些应用程序正在使用 dll,那么该 dll 不是不需要的。
    • 在你弄清楚它是哪个应用程序之前,你永远不会知道它是否需要。 :( 遗憾的是,Process Explorer 只告诉您它当前是否加载到内存中,而不是因为注册表项说它被 N 个应用程序“使用”而被锁定。
    • 我经常发现ProcessExplorer不会列出正在使用gac文件的应用程序。还有其他方法吗?
    【解决方案2】:

    被动方法可以使用 Visual Studio 工具 fuslogvw 为您计算机上使用的所有程序集配置日志记录。稍后您可以检查日志并得出未使用哪些 GAC 元素的结论。

    【讨论】:

    • 再一次,这仅在您记录期间内存中“正在使用”时才有帮助。如果它只是“正在使用”,因为某些注册表字段中的一些计数表明 N 应用程序声称他们正在使用这个 DLL,它并没有帮助。 Windows 架构可能很烦人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多