.net core WebAPI 运行 cli 命令
Posted
技术标签:
【中文标题】.net core WebAPI 运行 cli 命令【英文标题】:.net core WebAPI running cli commands 【发布时间】:2021-10-25 00:05:25 【问题描述】:我正在 .net core 5 中创建一个 WebApi,我希望它调用一些 CLI commands 以在将动态创建的解决方案中创建项目。如果可能的话,我希望在 .net 中收到 CLI 命令的返回。可以这样做吗?
我将拥有一个 javascript 和 html 界面,它将调用此 API(以动态创建项目)并显示创建结果(CLI 返回)
【问题讨论】:
查了很多资料,没有找到相关资料。恐怕很难在.net core WebAPI中实现 【参考方案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);
【讨论】:
以上是关于.net core WebAPI 运行 cli 命令的主要内容,如果未能解决你的问题,请参考以下文章
使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目