首页 > 解决方案 > 创建新的 .Net Core 控制台进程:使用具有 UseShellExecute=true 的环境变量时出现异常

问题描述

我想从一个控制台运行多个 .Net Core 控制台应用程序。我有以下代码:

        var startInfo = new ProcessStartInfo("c:\path\to\filename.exe", "arguments")
        {
            UseShellExecute = true,
            WorkingDirectory = "c:\working\directory",
        };
        var process = Process.Start(startInfo);

我收到以下异常:System.InvalidOperationException: 'The Process object must have the UseShellExecute property set to false in order to use environment variables.'

应用程序appsettings.json使用WorkingDirectory.

如何在单独的控制台中成功运行应用程序进程?

标签: c#.net.net-coreprocessconsole

解决方案


这可能会有所帮助

var startInfo = new ProcessStartInfo("cmd.exe", @"/K ""c:\path\to\filename.exe"" arguments")
{
    UseShellExecute = false,
    WorkingDirectory = @"c:\working\directory",
    //CreateNoWindow = true
};
var process = Process.Start(startInfo);

推荐阅读