Blazor Static Web Assets Not Loading Print

  • 0

Overview

Blazor applications may fail to load CSS, JavaScript, or other static assets after deployment. This guide covers common causes and solutions for static asset issues on Plesk Windows hosting.

Symptoms

  • Unstyled page (CSS not loading)
  • JavaScript errors in browser console
  • 404 errors for _framework files
  • Missing images or fonts
  • "Failed to find a valid digest" errors (WebAssembly)

Solution 1: Verify Published Files

Ensure all static assets are included in your publish output:

dotnet publish -c Release -o ./publish

Check that the wwwroot folder and _framework folder (for WASM) are present.

Solution 2: Enable Static Files in IIS

Add or verify web.config has static file handling:

<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
      <remove fileExtension=".wasm" />
      <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="font/woff" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>
  </system.webServer>
</configuration>

Solution 3: WebAssembly Compression Issues

If using Blazor WebAssembly, compressed files (.br, .gz) may not serve correctly.

Add to web.config:

<staticContent>
  <remove fileExtension=".br" />
  <mimeMap fileExtension=".br" mimeType="application/brotli" />
  <remove fileExtension=".gz" />
  <mimeMap fileExtension=".gz" mimeType="application/gzip" />
</staticContent>

Solution 4: Fix Integrity Check Failures

WebAssembly integrity errors often occur when files are modified during upload.

Option A: Use binary mode for FTP transfers

Option B: Disable integrity checking in index.html:

<script src="_framework/blazor.webassembly.js" autostart="false"></script>
<script>
  Blazor.start({
    loadBootResource: function (type, name, defaultUri, integrity) {
      return defaultUri;
    }
  });
</script>

Solution 5: Base Path Configuration

If deploying to a subdirectory, set the base path in index.html or _Host.cshtml:

<base href="/myapp/" />

And in Program.cs:

builder.WebHost.UseStaticWebAssets();

Solution 6: Clear Browser Cache

After deployment, clear browser cache or use incognito mode to test. Old cached files can cause mismatches.

Solution 7: Check File Permissions

Ensure all files in wwwroot have read permissions:

  1. In Plesk, go to Files
  2. Navigate to httpdocs/wwwroot
  3. Verify files are accessible

Still Having Issues?

Check browser Developer Tools (F12) → Network tab to see which specific files are failing to load and their error codes.


Was this answer helpful?

« Back