Неисшисло процесс. Это не жизнеспособно, поскольку веб-приложение нуждается в двусторонней общении с Сервисом. В частности, мое требование состоит в том, чтобы запустить веб-приложение Blazor из приложения сервиса с двусторонним общением через код. Таким образом, размещение приложения Blazor из не-блазорного проекта для достижения двухсторонней связи между сайтом и службой не совсем проблема XY. Я создал статический метод, который возвращает новый WebApplication, используя существующий код из Program.cs (но не вызывает App.Run () ).
отображение статических активов
Я вызову этот метод завода из проекта службы и вызов run () . Это вызвало ошибку времени выполнения в app.mapstaticassets () , так как он искал файл, названный для сборки входа, вместо сборки выполнения. Я закончил тем, что решил эту проблему, явно передав путь: < /p>
Код: Выделить всё
string executingAssemblyDirectory= Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
?? throw new Exception("Could not find directory of executing assembly");
string staticWebAssetsEndpointsJson = Path.Join(executingAssemblyDirectory, "MyApp.Blazor.staticwebassets.endpoints.json");
app.MapStaticAssets(staticWebAssetsEndpointsJson);
< /code>
webroot не найден < /h3>
после запуска приложения, он регистрирует следующие предупреждения: < /p>
warn: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[16]
The WebRootPath was not found: C:\Users\...\MyApp.Service\bin\Debug\net9.0\wwwroot. Static files may be unavailable.
warn: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[16]
The WebRootPath was not found: C:\Users\...\MyApp.Service\bin\Debug\net9.0\wwwroot. Static files may be unavailable.
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
localhost/:1 Uncaught (in promise) SyntaxError: Unexpected token '
Подробнее здесь: https://stackoverflow.com/questions/795 ... or-project