我正在尝试从Blazor WASM.net5项目升级到.net6。我将所有项目的更改为net6.0。所有程序都编译得很好,但在加载blazor.webassembly.js 时出现404错误
当我从资源管理器中搜索它时,我会在以下位置找到它:examgenerator\bin\Debug\net6.0\wwwroot_framework
而请求URL是:https://localhost:5001/_framework/blazor.webassembly.js
我错过了什么?
很容易错过,但您需要确保您的客户端项目是这样声明的:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<TargetFramework>net6.0</TargetFramework>
<!--The rest of your code here-->
</Project>
请注意,Microsoft.NET.Sdk.Web
已更改为Microsoft.NET.Sdk.BlazorWebAssembly
。
更新Microsoft.AspNetCore.Components.WebAssembly
也很重要。
<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>
像WinMerge这样的差异工具在寻找这样的差异时非常有用。
注意:在进行此类升级时,很有可能会遇到其他问题(很可能与热重新加载有关(。在微软拿出一个超级干净的解决方案之前,你最好的选择是创建一个新的.NET6项目,并将你的代码文件移到那里。这当然可能是一个令人沮丧的选择,但将为您节省更多时间。
试着检查您是否已经更新了所有Nuget包。我也遇到了这个问题,当我更新了所有软件包,特别是Microsoft.AspNetCore.Components.WebAssembly
软件包时,它得到了解决。