Criei um aplicativo React pronto para uso com ASP.NET Core Web API (.NET 9, VS 2022 17.13.5).
Em versões anteriores (.NET 6), eu obtinha uma ClientApp
solução aninhada no backend e, quando publicava, tudo isso era incluído.
Agora eu tenho:
- MeuApp.Servidor
- meuaplicativo.cliente
Quando publico MyApp.Server
, o aplicativo de backend é implantado, mas o frontend não.
Os logs locais (pasta) ou do servidor mostram o seguinte aviso:
aviso: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[16]
O WebRootPath não foi encontrado: ..
\MyApp.Server\bin\Release\net9.0\publish\wwwroot. Arquivos estáticos podem estar indisponíveis.
Mas isso é esperado, já que o site não está lá.
Alguém teve um problema semelhante? O .NET 6 funcionou imediatamente.
Qualquer ajuda será muito apreciada,
David
Precisamos adicionar as configurações abaixo para colocar os arquivos de publicação do React na
wwwroot
pasta.E como sabemos,
app.MapStaticAssets();
é usado para .NET9, eapp.UseStaticFiles();
ainda funciona. Há documentação oficial sobre a diferençaMapStaticAssets
eUseStaticFiles
, eu sei muito bem , mas neste caso precisamos usarapp.UseStaticFiles();
para resolver o problema 404.Aqui estão todas as mudanças no meu novo projeto.
nome_do_projeto.Servidor.csproj.
Programa.cs
Resultado do teste