【问题标题】:.net core WebAPI running cli commands.net core WebAPI 运行 cli 命令
【发布时间】:2021-10-25 00:05:25
【问题描述】:

我正在 .net core 5 中创建一个 WebApi,我希望它调用一些 CLI commands 以在将动态创建的解决方案中创建项目。如果可能的话,我希望在 .net 中收到 CLI 命令的返回。可以这样做吗?

我将拥有一个 javascript 和 HTML 界面,它将调用此 API(以动态创建项目)并显示创建结果(CLI 返回)

【问题讨论】:

  • 查了很多资料,没有找到相关资料。恐怕很难在.net core WebAPI中实现

标签: c# asp.net .net visual-studio command-line-interface


【解决方案1】:

我认为这个例子会很有用

    [HttpGet("{name}")]
    public async Task<IActionResult> Create(string name)
    {
        string outputText = string.Empty;
        var standardError = string.Empty;

        try
        {
            using (Process process = new Process())
            {
                process.StartInfo = new ProcessStartInfo
                {
                    FileName = "dotnet",
                    Arguments = @$"new sln -o {name}",
                    WorkingDirectory = @"C:\projects",//the file must exist
                    RedirectStandardOutput = true,
                    RedirectStandardError = true,
                    UseShellExecute = false,
                    CreateNoWindow = false,
                };

                process.Start();
                outputText = process.StandardOutput.ReadToEnd();
                outputText = outputText.Replace(Environment.NewLine, string.Empty);
                standardError = process.StandardError.ReadToEnd();
                process.WaitForExit();
            }
        }
        catch (Exception ex)
        {

        }
        return Ok(outputText + standardError);
    }

【讨论】:

    猜你喜欢
    • 2018-02-15
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多