我在其中一个Windows机器上运行应用程序时遇到问题。我无法在其他类似的Windows机器上复制它,它刚刚开始发生。情况如下:
使用Visual Studio,我可以构建我编写的应用程序。它构建了一个可执行文件:Application.exe,我可以在它的bin / Debug目录中看到这个可执行文件以及我知道该应用程序所依赖的所有DLL,包括Microsoft.Windows.Azure.Configuration.dll。
当我运行应用程序时,应用程序停止运行,当我来调查问题时,我可以看到Microsoft.Windows.Azure.Configuration.dll已重命名为Microsoft.WindowsAzure.Configuration。 dll.5502888.DeletePending.5502888.DeletePending.5502904.DeletePending.5502919.DeletePending.5502935.DeletePending.5502950.DeletePending
我之前从未见过这种行为,虽然我已经在这台机器上运行了一年左右的相同应用程序。有谁知道会发生什么?
感谢您的帮助。
答案 0 :(得分:1)
虽然我自己没有看到这个,但我知道如果您使用FILE_OBJECT structure打开文件,Windows支持挂起删除(在right permissions中跟踪)。
在互联网上闲聊,我发现其他人已经用Windows Defender解决了这个问题,而其他人已经评论过很多其他类似的AV软件。但是,鉴于它似乎是Windows API的一个功能,任何应用程序都可能导致它。
看起来像使用来自Sysinternals的ProcMon进行调试可能是追踪实际保持文件打开状态的最佳方法。
答案 1 :(得分:0)
这有点令人尴尬。我相信我确实解决了我的问题,但不幸的是,我再也不记得我做了什么。如果内存为我服务,我认为问题在于log4net,以及它正在做的事情。我将尝试疏通记忆以获取更多信息。