1
resposta

[Bug] Ao utilizar o MudBlazor não esta carregando a página

Cheguei na parte do curso em que começamos a utilizar o MudBlazor. Depois de fazer as modificações relacionadas a utilização do MudBlazor, a página não aplica a estilização.

blazor.webassembly.js:1 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
      Error: Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
          at https://localhost:7256/_framework/blazor.webassembly.js:1:368
          at Array.forEach (<anonymous>)
          at l.findFunction (https://localhost:7256/_framework/blazor.webassembly.js:1:336)
          at w (https://localhost:7256/_framework/blazor.webassembly.js:1:5079)
          at https://localhost:7256/_framework/blazor.webassembly.js:1:2872
          at new Promise (<anonymous>)
          at b.beginInvokeJSFromDotNet (https://localhost:7256/_framework/blazor.webassembly.js:1:2835)
          at Object.vn [as invokeJSJson] (https://localhost:7256/_framework/blazor.webassembly.js:1:58849)
          at https://localhost:7256/_framework/dotnet.runtime.8.0.4.b7q27uat4w.js:3:178210
          at xl (https://localhost:7256/_framework/dotnet.runtime.8.0.4.b7q27uat4w.js:3:179044)
Microsoft.JSInterop.JSException: Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
Error: Could not find 'mudElementRef.getBoundingClientRect' ('mudElementRef' was undefined).
    at https://localhost:7256/_framework/blazor.webassembly.js:1:368
    at Array.forEach (<anonymous>)
    at l.findFunction (https://localhost:7256/_framework/blazor.webassembly.js:1:336)
    at w (https://localhost:7256/_framework/blazor.webassembly.js:1:5079)
    at https://localhost:7256/_framework/blazor.webassembly.js:1:2872
    at new Promise (<anonymous>)
    at b.beginInvokeJSFromDotNet (https://localhost:7256/_framework/blazor.webassembly.js:1:2835)
    at Object.vn [as invokeJSJson] (https://localhost:7256/_framework/blazor.webassembly.js:1:58849)
    at https://localhost:7256/_framework/dotnet.runtime.8.0.4.b7q27uat4w.js:3:178210
    at xl (https://localhost:7256/_framework/dotnet.runtime.8.0.4.b7q27uat4w.js:3:179044)
   at Microsoft.JSInterop.JSRuntime.<InvokeAsync>d__16`1[[MudBlazor.Interop.BoundingClientRect, MudBlazor, Version=6.19.1.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
   at MudBlazor.MudDrawer.UpdateHeight()
   at MudBlazor.MudDrawer.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

Este é o erro que aparece no Console do navegador. Identifiquei que a pasta content/MudBlazor não esta sendo criada no cliente e nem na pasta bin/Debug/net8.0/wwwroot. Já tentei algumas coisas que achei na internet em relação a isso, mas nenhuma deu certo.

1 resposta

Olá, Aaron!

Nesse caso peço para que se certifique-se de que você instalou o pacote MudBlazor corretamente através do NuGet. Você pode fazer isso usando o comando abaixo no Package Manager Console:

Install-Package MudBlazor

Depois de instalar o pacote, é importante garantir que os arquivos estáticos do MudBlazor estão sendo corretamente referenciados no seu projeto. Para isso, você deve incluir o seguinte código no arquivo _Imports.razor para garantir que os componentes do MudBlazor sejam reconhecidos globalmente em seu projeto:

@using MudBlazor

Além disso, é necessário adicionar as referências aos arquivos CSS e JS do MudBlazor no arquivo index.html (para projetos WebAssembly) ou _Host.cshtml (para projetos Server). Aqui está um exemplo de como você pode fazer isso:

<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet"/>
<script src="_content/MudBlazor/MudBlazor.min.js"></script>

Como você mencionou que a pasta content/MudBlazor não está sendo criada, isso pode indicar que os arquivos não estão sendo copiados para o diretório de saída durante a construção do projeto. Para garantir que isso aconteça, você pode verificar as propriedades do pacote MudBlazor no seu projeto. Certifique-se de que os arquivos necessários estão configurados para serem copiados para o diretório de saída.

Se após essas verificações o problema persistir, uma boa prática é limpar e reconstruir o projeto. Isso pode ser feito através dos comandos:

dotnet clean
dotnet build

Mas, se ainda persistir o erro, por favor, Peço que você compartilhe o link do seu projeto no GitHub ou uma pasta com todos os arquivos que você utilizou no através do Google Drive. Dessa forma, conseguirei realizar os testes necessários e te ajudar de forma mais assertiva.

Lembre-se que, se enviar os arquivos por meio do Google Drive, é necessário conceder permissão para que eu possa ter acesso.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software