Blazor:无法加载资源:服务器响应状态为 404 ()

问题描述 投票:0回答:4

我很难理解我的 blazor 应用程序的问题所在。我有一个客户端 blazor,正在从 .net 3.1 更新到 .net 6。我已阅读有关从 3.1 迁移到 6 的说明,但是当我尝试调试它时,我的应用程序永远不会加载。它抛出:

“无法加载资源:服务器响应状态为 404 ()”错误

我在其他帖子中读到过有关 blazor.web assembly.js 未正确加载的信息,但我不确定我做错了什么。我已经检查了参考文献是否有任何错误。 Api 参考在 .NET 6 上正常运行,共享库使用 .net 标准 2.0 这是一些代码,以防您需要。

感谢您的宝贵时间。

索引.html:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.5" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.5" PrivateAssets="all" />
    <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
    <PackageReference Include="System.Net.Http.Json" Version="6.0.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SkillMatrix.Api\SkillMatrix.Api.csproj" />
    <ProjectReference Include="..\SkillMatrix.Shared\SkillMatrix.Shared.csproj" />
  </ItemGroup>

</Project>

索引.html:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>SkillMatrix.Client</title>
    <base href="/" />
    <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
    <link href="css/app.css" rel="stylesheet" />
</head>

<body>
    <app>Loading...</app>

    <div id="blazor-error-ui">
        An unhandled error has occurred.
        <a href="" class="reload">Reload</a>
        <a class="dismiss">🗙</a>
    </div>
    <script src="_framework/blazor.webassembly.js"></script>
</body>

</html>
web blazor client .net-6.0 .net-3.0
4个回答
3
投票

想出了解决办法。我必须将 csproj 更改为

<Project Sdk="Microsoft.NET.Sdk.Web">

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">

基于这个答案

还要确保项目组上的 Microsoft.AspNetCore.Components.WebAssembly 引用至少设置为版本 6.0.0


0
投票

复制此内容或替换到 wwwroot index.html 到头标签

<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
<link href="css/app.css" rel="stylesheet" />
<link rel="icon" type="image/png" href="favicon.png" />
<link href="BlazorApp1.Client.styles.css" rel="stylesheet" />



<link href="_content/Syncfusion.Blazor/styles/bootstrap5.css" rel="stylesheet" />
<script src="_content/Syncfusion.Blazor/scripts/syncfusion-blazor.min.js" type="text/javascript"></script>

0
投票

仅更换

<link href="BlazorServer.styles.css" rel="stylesheet" />
<link href="AppName.styles.css" rel="stylesheet" />
解决了问题。

编辑:

抱歉,我对

BlazorServer
感到有些困惑,因为我认为它与
Blazor Server
模板相关,但它与我使用该名称的 Blazor 项目的名称相关。我正在将另一个 Blazor 项目从 netcore3.1 迁移到 net6.0,我在这篇文章中遇到了这个问题,并替换了我上面写的内容,它解决了这个问题。所以,任何遇到这个问题的人都需要这样做
<link href="AppName.styles.css" rel="stylesheet" />


0
投票

我也遇到了同样的问题,结果发现与当前的 blazor.webassemble.js 和 Nuget 包之一 Chart.js 存在一些冲突。 我删除了包,错误就消失了。

Chart js nuget package

© www.soinside.com 2019 - 2024. All rights reserved.