问题:在 Windows Server 2012 r2 机器上,我正在尝试使用 Chef 以编程方式替换 .dll 命令组件(也就是我使用 regsvr32.exe 在机器上注册的 vb 6 库)但是当我尝试复制该文件,该网站的应用程序池对其进行了锁定。我不确定这是否重要,但 w3wp 进程设置为通过 IIS 以 32 位运行。
我的解决方案(不起作用):为了修复它,我正在考虑使用命令行工具来查找对 dll 的引用,然后回收正在使用它的应用程序池。不幸的是,虽然我可以让 SysInternals 的进程资源管理器找到 dll,但 Handles.exe(进程资源管理器的假定命令行版本)没有返回任何内容。我希望有人能告诉我我是如何错误地使用手柄的,或者是否有更好的工具。
Process Explorer - 它找到了我的 dll ComHelper.dll
通过命令行处理 - 它没有找到我的 dll ComHelper.dll
-- 编辑 -- 这是当我以管理员身份运行时将其指向 w3wp 时的句柄输出