QTAgent32保持文件打开

时间:2011-05-12 00:39:42

标签: c#

我们正在编写一个应用程序,它将从各种文件中提取第一个文本,然后提取图像。

在我们的测试脚本中,我们发现一旦我们提取了文本并尝试打开文件进行图像提取,该文件就被另一个进程保持打开状态。

我们已关闭对该文件的所有引用,处理它们并将它们设置为null。

使用Process Explorer,我们发现QTAgent32正在打开它。

我们如何告诉这个库释放句柄,或者这是一个已知错误,它不会影响生产代码?

2 个答案:

答案 0 :(得分:3)

QTAgent32是Visual Studio测试运行器。

这意味着您的测试中有FileStream您忘了关闭。

答案 1 :(得分:0)

尝试在调试中运行测试,暂停执行,并查看您中断的内容。 (关于这个“穷人的分析”技术,stackoverflow上有一个很好的答案。)

我用这种方式解决了这个问题的实例。在第一次尝试时,我很惊讶地看到执行中断NetworkStream.Read。它在后台线程上运行,因此测试仍在通过,但显然不打算包含在测试中。无论如何它都是死代码,所以我完全删除它,重新启动VS,测试再次顺利运行。