我可以通过运行:
在同一控制台窗口中运行program.dll
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "dotnet",
Arguments = "program.dll",
UseShellExecute = true,
RedirectStandardOutput = false,
RedirectStandardError = false,
CreateNoWindow = false
}
};
process.Start();
标志CreateNoWindow = false
不像在Windows系统上那样打开新控制台。
如何使用.NET Core在Linux的新控制台窗口中打开program.dll
?
我看到this question但它在linux上不起作用。
替代方案是this,但它涉及通过.sh脚本运行program.dll
,我不想这样做。
答案 0 :(得分:0)
目前无法使用该类打开新的控制台窗口。在.NETCore 2.0(issue on .NETCore github)
中,Linux上的标志CreateNoWindow
被忽略
但是有可用的解决方法 - 使用xterm运行带有.dll进程的新控制台。
var process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = "xterm",
Arguments = $"-e dotnet <pathToDll>",
RedirectStandardOutput = true,
CreateNoWindow = true,
UseShellExecute = false,
},
};
process.Start();