twi*_*ort 5 c# windows crash delete-file
我在C#程序(.Net 4.61)中使用Word和Amyuni PDF套件来构建格式化的PDF文件。在此过程中,将在用户的temp文件夹中创建四个临时PDF文件:
private string TempFolder = Path.GetTempPath();
Run Code Online (Sandbox Code Playgroud)
该过程完成后,我将使用以下清除方法来删除该过程中生成的任何临时文件:
private void EraseTempFiles()
{
// For each temp file:
foreach (string tempFile in TempFiles)
{
if (File.Exists(tempFile))
{
File.Delete(tempFile);
}
}
}
Run Code Online (Sandbox Code Playgroud)
几乎所有已部署的Windows系统(所有64位Windows 7系统)上都可以运行该文件,但是在其中一些系统上,当EraseTempFiles方法删除了三个临时文件时,应用程序将立即退出。没有引发任何异常(我已经在try-catch中将File.Delete括起来以确定它)。
使用Windows资源管理器可以删除文件没有问题。
我尝试将所有临时文件保存在不同的文件夹中,并更改它们的命名方式,而不会改变行为。运行ProcDump来跟踪应用程序并没有发现任何问题,它只是报告:
[23:54:52] The process has exited.
[23:54:52] Dump count not reached.
Run Code Online (Sandbox Code Playgroud)
我还订阅了未处理的异常事件:
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(UnhandledExceptionHandler);
private void UnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs e)
{
System.Windows.Forms.MessageBox.Show(((Exception)e.ExceptionObject).Message);
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
该处理程序也永远不会被调用。
我从未见过没有说明的程序退出。似乎Windows本身可能由于某种违规而终止了该进程,但是由于所有临时文件基本相同,并且我能够毫无问题地删除前两个文件,因此我无法说出是什么。
有人以前见过这种行为吗?
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |