C# 已启动的流程可以';不要删除文件

C# 已启动的流程可以';不要删除文件,c#,process,delete-file,C#,Process,Delete File,我有一个程序可以启动另一个程序。在第二个程序中,我尝试删除一个文件。 如果我直接运行第二个程序,没有问题,文件会被删除。但是如果我从第一个程序启动第二个程序,我会得到一个System.UnauthorizedAccessException 我的猜测是,第二个程序没有获得第一个程序的所有访问权限 我尝试了许多我发现的建议,但没有一个有效。 添加Process.StartInfo.Verb=“runas”无效。 添加清单文件也不起作用(或者我做错了,不确定) 我将第二个文件的.exe设置为“以管理员

我有一个程序可以启动另一个程序。在第二个程序中,我尝试删除一个文件。 如果我直接运行第二个程序,没有问题,文件会被删除。但是如果我从第一个程序启动第二个程序,我会得到一个System.UnauthorizedAccessException

我的猜测是,第二个程序没有获得第一个程序的所有访问权限

我尝试了许多我发现的建议,但没有一个有效。
添加Process.StartInfo.Verb=“runas”无效。
添加清单文件也不起作用(或者我做错了,不确定)
我将第二个文件的.exe设置为“以管理员身份运行”,但它不起作用


现在,如何修复此问题?

第一个程序使文件保持打开状态,因此第二个程序无法删除它


您需要关闭第一个程序中的文件。

您可能缺少用于访问第一个程序中文件的
FileStream
(例如)上的
Dispose()
调用。这可能会使底层文件在该程序中继续使用,尽管您认为与它相关联的对象实例已经消失,因为它们超出了范围

如果您想要更好的反馈,请发布一些代码