c# - 创建新的 .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
.
如何在单独的控制台中成功运行应用程序进程?
解决方案
这可能会有所帮助
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);
推荐阅读
- macos-catalina - 如何在 macOS Catalina 上安装 gmp4
- html - extends - 如何忽略父级上的子级 CSS
- javascript - Giphy 无法在 Discord 机器人上运行(javascript)
- ios - iOS ARKit setWorldOrigin 没有效果
- azure - 如何阻止 Azure CDN 缓存 index.html
- git - 非常慢的 git rev-parse
- c# - C# Npgsql 连接检查器异常抛出 System.NullReferenceException '对象引用未设置为对象的实例。
- javascript - 下拉菜单上的切换开关关闭菜单
- reactjs - 在 redux 异步操作中使用 setTimeout 以模拟较慢的响应是一种不好的做法吗?反应 JS
- apache-spark - SparkConf 和 sparkContext 的目的