'2022 wasm blazor.webassembly.js not found .net5 to .net6 upgrade

I am trying to upgrade from a Blazor WASM .net5 project to .net6. I change the to net6.0 on all the projects. All compiles well, but I get a 404 error on loading blazor.webassembly.js

When I search for it from explorer I find it at: examgenerator\bin\Debug\net6.0\wwwroot_framework

while the request URL is: https://localhost:5001/_framework/blazor.webassembly.js

What am I missing?



Solution 1:[1]

It's quite easy to miss, but you need to ensure that your Client project is declared like this:

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
    <TargetFramework>net6.0</TargetFramework>
    <!--The rest of your code here-->
</Project>

Notice that Microsoft.NET.Sdk.Web was changed to Microsoft.NET.Sdk.BlazorWebAssembly.


It's also important to have Microsoft.AspNetCore.Components.WebAssembly up to date.

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.4" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.4" PrivateAssets="all" />
</ItemGroup>

A diff tool like WinMerge is really helpful when looking for differences like this.

Note: There's a good chance that you'll run into some other issue (most likely hot reload related) while making such an upgrade. Until Microsoft comes up with a super clean solution to this, your best bet is to create a new .NET 6 project and move your code files there. This might of course be a frustrating option, but it's will save you so much more time.

Solution 2:[2]

Try to check if you have updated all your Nuget packages. Had this issue as well and had it resolved when I updated all my packages, particularly the Microsoft.AspNetCore.Components.WebAssembly package.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Raffy