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