C#-当我调用System.Diagnostics.process.Start时,新的进程自动将被终止

C#-当我调用System.Diagnostics.process.Start时,新的进程自动将被终止,c#,process,C#,Process,我从当前C#App调用新流程(C#application),我使用: Process proc = new Process(); proc.StartInfo.FileName = "cmd.exe"; proc.StartInfo.Arguments = "/c "+filePath; proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; proc.Start(); proc.WaitForExit(); 我可以在任务管理器中看到新流

我从当前C#App调用新流程(C#application),我使用:

Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.Arguments = "/c "+filePath;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
我可以在任务管理器中看到新流程,但它可能会立即被终止 我用代码解决了它:

ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = Path.GetDirectoryName(filePath);
psi.FileName = filePath;
psi.ErrorDialog = true;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process proc = Process.Start(psi);

您还可以在
System.Diagnostic.Process
使用:

此命令将运行并在运行程序后关闭cmd。 如果要等待结果(可能是错误),可以使用:

 System.Diagnostic.Process.Start("cmd.exe /K "+filepath);

它可能崩溃了。当我打开cmd并粘贴文件路径时,它运行正常。这还不够继续。您在哪里调用此功能(Web服务器、控制台应用程序等)?你要开始什么过程?windows事件日志中是否有关于崩溃进程的任何指示?当前进程和新进程都是windows Form desktop application@Spender您可以向我们发送原始命令吗?我想查看您的文件路径并检查以下内容:解决方案资源管理器->右键单击项目->添加->新项目->应用程序清单文件。在该文件中,注释这一行:
并取消注释这一行:
这将授予您的应用程序管理权限。
 System.Diagnostic.Process.Start("cmd.exe /K "+filepath);