foreach (var process in Process.GetProcessesByName("SnippingTool"))
{
process.Kill();
Thread.Sleep(5000);
process.Start();
}
我尝试使用Process重启.exe。为什么这不起作用?认为它应该能够找到该过程,因为它成功杀死了它。
出现此错误:
System.InvalidOperationException:无法启动进程,因为文件 名称尚未提供
编辑:为了澄清,process.Kill
有效,它是获得例外的Start()
。
答案 0 :(得分:4)
问题是你没有获得该过程的文件位置,并且它不知道如何启动它。执行以下操作将起作用,但是如果您运行的是64位计算机,则应确保以64位编译程序(项目属性 - >构建 - >平台目标:x64)
foreach (Process process in Process.GetProcessByName("SnippingTool"))
{
string fullPath = process.MainModule.FileName;
process.Kill();
Thread.Sleep(5000);
Process.Start(fullPath);
}
我已经对此进行了测试,它对我有用
答案 1 :(得分:1)
尝试从Unity内部启动Visual Studio时出现此错误。我需要重新启动计算机才能首先完成Visual Studio的安装。