我正在尝试从另一个运行一个.NetCore程序。
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "sh";
psi.Arguments = "-c dotnet /home/myuser/PublishOutput/myprogram.dll";
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process proc = new Process
{
StartInfo = psi
};
proc.Start();
string error = proc.StandardError.ReadToEnd();
if (!string.IsNullOrEmpty(error))
return "error: " + error;
string output = proc.StandardOutput.ReadToEnd();
proc.WaitForExit();
return output;
作为输出,我得到:
因此,我似乎很像没有dll路径参数的运行命令dotnet。
最佳答案
您需要转义-c
的参数,以便它是一个参数:
psi.Arguments = "-c \"dotnet /home/myuser/PublishOutput/myprogram.dll\"";
关于c# - 使用参数从.NetCore运行bash命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44874439/