调试c#/ .NET中的文件句柄问题

Gli*_*kot 6 .net c# debugging filehandle visual-studio-debugging

我有一个程序,反过来访问DLL.它以各种方式使用文件,创建它们,复制它们并将它们建立为emailMessage对象的附件.我有一个'正在使用的文件'错误,防止覆盖文件.

是否有任何工具或技术来简化过程 - 例如某种警告创建/删除包含特定字符串的句柄?我查看了进程资源管理器,进程监视器(filemon的继任者)等但没有运气.

我可以继续打猎,但认为可能有更好的方法,而不是通过代码继续我的非正式调查.

编辑

感谢您的评论.关于问题,结构有点复杂.我的"客户端"应用程序引用了"引擎"dll(也在C#中).两者都是我自己的.客户端创建"附件"实例,每个附件都包含对各种文件的文件引用.它的构造函数抓取引用的文件,并将副本放在临时文件夹中.稍后,一组"操作"构建电子邮件 - 它将每个附件添加为EmailMessage对象的"真实"附件.在不同的时间我处理对象并将它们的引用设置为null,但是如果我太早做,那么我最终会得到null引用异常.如果我做得太晚了,该死的东西都在用!我确信我可以在适当的时候追捕这个特定的bug,但它让我想知道是否有一个有用的标准方法被知道的人使用.:)

Fra*_*mas 2

听起来您正在寻找一个工具来让您知道调试时是什么锁定了文件。如果是这样,您可以使用Unlocker来确定锁定文件的进程。