我启动位于myFolder文件夹中的app1.exe。
此app1.exe通过C#中的Process.Start调用另一个app2.exe。
我关闭了app1.exe。
app2.exe尝试删除myFolder,但它说它已被锁定,因为app2.exe正在使用它,即使app2.exe没有对myFolder做任何事情。
注意:如果我单独启动app2.exe(通过单击.exe),我可以删除myFolder。如果从app1.exe启动了app2.exe,它只会阻止我。
有没有办法允许单独的进程删除其调用者文件夹? app1.exe和app2.exe都在C#中。
答案 0 :(得分:1)
检查启动ProcessStartInfo
时涉及的Process.StartInfo
(app2
属性)。可能app2
开始时WorkingDirectory
设置为app1
所在的文件夹。如果是这种情况,您可以在启动WorkingDirectory
之前尝试将app2
设置到其他位置,或者可以在启动后让app2
更改目录。