我有一个启动另一个程序的程序。在第二个程序中,我尝试删除文件。 如果我直接运行第二个程序,没问题,文件就会被删除。但是如果我从第一个程序启动第二个程序,我会得到一个System.UnauthorizedAccessException。
我的猜测是第二个程序没有获得第一个程序的所有访问权限。
我尝试了很多我发现的建议,但没有一个起作用
添加Process.StartInfo.Verb =“runas”无效
添加清单文件也不起作用(或者我做错了,不确定)
我将第二个文件的.exe设置为“以管理员身份运行”,但它不起作用。
现在,我该如何解决这个问题?
答案 0 :(得分:2)
第一个程序使文件保持打开状态,因此第二个程序无法删除它。
您需要在第一个程序中关闭该文件。
答案 1 :(得分:1)
您可能错过Dispose()
上的FileStream
调用(例如)用于访问第一个程序中的文件。这可能会使底层文件在该程序中使用,尽管您认为与其关联的对象实例已经消失,因为它们超出了范围。
如果您想要更好的反馈,请发布一些代码。