Запустите команду "sw-precache" из C#

Я хочу сгенерировать "service-worker.js", используя sw-precache

из командной строки (cmd.exe) я запускаю эту команду и вывод:

Общий размер предварительного кэша составляет около 145 КБ для 35 ресурсов. service-worker.js был создан с содержимым сервисного работника.

Когда я запускаю эту команду из C#, вывод пуст, вот мой код:

Process proc = new Process
                    {
                        StartInfo = new ProcessStartInfo
                        {
                            FileName = @"cmd.exe",
                            Arguments = @"/c sw-precache",
                            UseShellExecute = false,
                            RedirectStandardOutput = true,
                            RedirectStandardError = true,
                            CreateNoWindow = true,
                            WorkingDirectory = Path.GetFullPath(myDir)
                        }
                    };
proc.Start();
proc.WaitForExit();
string output = proc.StandardOutput.ReadToEnd();

Если я запускаю команду типа "dir" в Arguments = @"/c dir", вывод содержит сообщение от команды dir,

что я делаю не так?

Редактировать: в консольном приложении вывод возвращается нормально, но не в веб-приложении

1 ответ

WaitForExit сначала прочитайте вывод. Он остается после завершения процесса.

Другие вопросы по тегам