Я получаю следующую ошибку:
Код: Выделить всё
2025-10-20 13:28:33.637 [ERR] (9) 72ba7b27-db83-4106-82be-15b1d9f335af: HTTP POST /GeneratePdfBytes responded 500 in 563.3725 ms PuppeteerSharp.ProcessException: Failed to launch browser!
at PuppeteerSharp.States.ProcessStartingState.StartCoreAsync(LauncherBase p) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/States/ProcessStartingState.cs:line 83
at PuppeteerSharp.States.ProcessStartingState.StartCoreAsync(LauncherBase p) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/States/ProcessStartingState.cs:line 89
at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Launcher.cs:line 77
at PuppeteerSharp.Launcher.LaunchAsync(LaunchOptions options) in /home/runner/work/puppeteer-sharp/puppeteer-sharp/lib/PuppeteerSharp/Launcher.cs:line 110
...
at lambda_method5(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
...
at Serilog.AspNetCore.RequestLoggingMiddleware.Invoke(HttpContext httpContext)
Код: Выделить всё
_browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Browser = SupportedBrowser.Chrome,
ExecutablePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe",
Headless = true,
Args = ["--no-sandbox", "--disable-setuid-sandbox"]
});
Я могу запустить все три браузера из окна командной строки без прав администратора, используя путь, который я указываю при вызове Puppeteer, но получаю одно и то же сообщение об ошибке для всех трех браузеров. Я убедился, что все они обновлены.
Прежде чем задать вопрос здесь, я провел онлайн-исследование, но ни одна проблема не нашла решения, которое применимо к моему случаю, поскольку большинство людей получали эту ошибку при развертывании на машинах с Linux, и их проблемы и решения были специфичны для Linux.
Я благодарен за любой вклад по этой проблеме.
РЕДАКТИРОВАТЬ
Проблема, упомянутая в комментариях, очень похожа на мою. Однако рекомендуемое решение предназначено для .NET Framework, а не для .NET 8.0. В тексте выше я пояснил, что использую .NET 8.0. Рекомендуемый код по ссылкам не работает, поскольку рекомендуемый пакет NuGet не поддерживает .NET 8.0 и, хотя исходный код репозитория общедоступен, он использует механизмы, специфичные для .NET Framework, которые нельзя напрямую преобразовать в .NET 8.0
Подробнее здесь: https://stackoverflow.com/questions/797 ... ows-server
Мобильная версия