首页 新闻 会员 周边 捐助

[ASP.NET Core]Linux上使用ProcessStartInfo执行命令的问题

0
悬赏园豆:30 [已解决问题] 解决于 2016-05-20 23:01

想在ASP.NET Core页面上显示.NET Core SDK的版本,没找到相应的API,于是采用在ASP.NET Core中执行"dotnet -v"命令的方式,代码如下:

public IActionResult SdkVersion()
{
    var sdkVersion = string.Empty;
    var psi = new System.Diagnostics.ProcessStartInfo("dotnet", " -v");
    psi.RedirectStandardOutput = true;
    using (var process = System.Diagnostics.Process.Start(psi))
    {
        var output = process.StandardOutput.ReadToEnd();
        sdkVersion = output.Split('\n')
            .Where(line => line.StartsWith(".NET Command Line Tools"))
            .FirstOrDefault();
    }
    return Content(sdkVersion);
}

该代码在Windows上可以正常运行并得到期望的结果:

.NET Command Line Tools (1.0.0-preview1-002702)

但放到Linux Ubuntu上运行时,浏览器发出请求后,服务器一直无响应,直至超时。

dudu的主页 dudu | 高人七级 | 园豆:29526
提问于:2016-05-20 22:22
< >
分享
最佳答案
0

不会意思,是我测试时弄错了,上面的代码可以在Linux上正常运行。

dudu | 高人七级 |园豆:29526 | 2016-05-20 23:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册