【发布时间】:2017-12-06 01:34:07
【问题描述】:
我正在尝试从另一个运行一个 .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;
作为输出我得到:
Microsoft .NET Core 共享框架主机
版本:1.1.0 构建: 928f77c4bc3f49d892459992fb6e1d5542cb5e86
用法:dotnet [common-options] [[options] path-to-application]
常用选项:--help 显示 .NET Core 共享框架主机帮助。 --version 显示 .NET Core 共享框架主机版本。
选项:--fx-version 安装的版本 用于运行应用程序的共享框架。
--additionalprobingpath 包含要探测的探测策略和程序集的路径。应用程序路径:.NET Core 托管应用程序的路径, dll 或 exe 文件来执行。
如果您正在调试共享框架主机,请设置“COREHOST_TRACE” 在您的环境中设置为“1”。
要开始为 .NET Core 开发应用程序,请安装 SDK来自:http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
所以我看起来完全像运行命令 dotnet 没有 dll 路径参数。
【问题讨论】:
-
ProcessStartInfo来自哪个命名空间?