Skip to content

Blazor WebAssembly Standalone template incorrectly fingerprints _framework runtime files when OverrideHtmlAssetPlaceholders=true (VS 2026 / .NET 10) #64359

Description

@suntaurus

Is there an existing issue for this?

  • I have searched the existing issues

Describe the bug

When creating a Blazor WebAssembly Standalone App in Visual Studio 2026 (latest release), the generated .csproj includes:

<OverrideHtmlAssetPlaceholders>true</OverrideHtmlAssetPlaceholders>

With this enabled, the publishing pipeline incorrectly fingerprints _framework runtime files, such as:

_framework/blazor.webassembly.js → blazor.webassembly..js

However, the template’s index.html still references:

<script src="_framework/blazor.webassembly.js"></script>

Since the file has been renamed but the HTML is not updated, the app fails to load after deployment (especially to static hosts like Azure Static Web Apps).

This behavior breaks all newly created Blazor WebAssembly Standalone apps in .NET 10 / VS 2026.

Even if we try to enable fingerprinting in the index.html like below

<script src="_framework/blazor.webassembly#[.{fingerprint}].js"></script>

Then when we run we get error

blazor.webassembly.66stpp682q.js:1 Uncaught (in promise) Error: Failed to start platform. Reason: TypeError: Failed to fetch dynamically imported module: https://xxxxxxx-preview.westeurope.1.azurestaticapps.net/_framework/dotnet.js at qt (blazor.webassembly.66stpp682q.js:1:58420)

If we set OverrideHtmlAssetPlaceholders = false or remove the attribute completely from the .csproj, then all works fine

Expected Behavior

No response

Steps To Reproduce

No response

Exceptions (if any)

No response

.NET Version

No response

Anything else?

No response

Metadata

Metadata

Assignees

Labels

Needs: Author FeedbackThe author of this issue needs to respond in order for us to continue investigating this issue.area-blazorIncludes: Blazor, Razor Components

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions