Я пытаюсь создать консольное приложение для запуска моих веб-приложений .NetCore, которые я создал как .dll
К сожалению, аргументы, введенные в ProcessStartInfo, не принимаются моим приложением, однакомое приложение запускается, и я получаю неожиданное поведение в методе Console.WriteLine.
Этот код находится в моем проекте SocketAPI, который является .NetCore 2.2 WebApplication |Проект API:
public static void Main(string[] args)
{
// Outputs -> Received :
// ?? Why is args.Length empty? Not even 0 or null??
Console.WriteLine(string.Format("Received : ",args.Length));
CreateWebHostBuilder(args).Build().Run();
}
Он объявляется и вызывается моим ProcessRunner, который является классом, который содержит текущий процесс:
Я также ссылаюсь на эту документацию: документация команды dotnetна microsoft.com
Который описывает: dotnet [command] [arguments]
Этот код находится внутри Конструктора ProcessRunner
ProcessStartInfo = new ProcessStartInfo
{
FileName = "dotnet",
Arguments = string.Format("BHR.{0}.dll {1}", Name, args),
WorkingDirectory = ".\\",
UseShellExecute = false,
RedirectStandardInput = true,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
};
Позже я звоню Process.Start();
внутри ProcessRunner для запуска процесса.
Как я уже сказал, я получаю вывод, но без аргументов ... Так почему я вижу "Received:", но ничего в конце?
Нужно ли разрешать моему SocketAPI получать аргументы при запуске их как процесса?Я пытаюсь разобраться с этой проблемой уже 2 дня, и я совершенно не в курсе ...
С уважением