using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HttpClientStudy.Core.Utilities { /// /// dotnet命令行工具类 /// public static class DotnetCommondUtility { /// /// 执行dotnet命令 /// /// 命令 /// 命令参数 /// 是否等待退出 /// 命令行输出文本 public static string ExecuteCommand(string command, string arguments = "", bool waitForExit=false) { string output = ""; try { ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "dotnet", Arguments = $"{command} {arguments}", RedirectStandardOutput = true, StandardOutputEncoding = Encoding.UTF8, RedirectStandardError = true, StandardErrorEncoding = Encoding.UTF8, RedirectStandardInput = true, StandardInputEncoding = Encoding.UTF8, UseShellExecute = false, CreateNoWindow = false, }; Process process = new Process() { StartInfo = startInfo, }; process.Start(); output = process.StandardOutput.ReadToEnd(); if (waitForExit) { process.WaitForExit(); } } catch (Exception ex) { output = $"An error occurred: {ex.Message}"; } return output; } } }