另一个进程使用的调试文件
本文关键字:调试 文件 进程 另一个 | 更新日期: 2023-09-27 18:35:03
使用Visual Studio 2010,在尝试读取文件时几乎随机地得到"文件被另一个进程使用"。我使用相同的过程将大约 10 个 xml 文件读入内存
中断的代码是
private static TextReader CreateTextReader(IsolatedStorageFile isolatedStorageFolder, string path)
{
TextReader textReader = null;
if (isolatedStorageFolder == null)
textReader = new StreamReader(path);
else
textReader = new StreamReader(new IsolatedStorageFileStream(path, FileMode.Open, isolatedStorageFolder));
return textReader;
}
代码中断 10% 的时间
textReader = new StreamReader(path);
我个人认为这是某种垃圾收集问题,任何人都可以了解如何调试此类问题。
请务必致电 。处置或 。关闭所有可能锁定文件的 Steam 阅读器操作。这可能是您的问题,因为该代码作为平面程序对我有用。
您需要处理TextReader
。使用using
语句,例如
using (TextReader r = CreateTextReader(...))
{
}
否则,当您关闭应用程序时,该文件将保持打开状态。
编辑
您在评论中说您实际上已经在使用using
- 可能是您尝试读取的文件实际上是由另一个应用程序打开的吗?有时 antivir 解决方案会在扫描文件或类似的东西时锁定文件 - 它会在短时间内工作还是您必须重新启动或类似的东西?