You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server中使用CSS隔离遇404错误问题求助

.NET 8 Blazor CSS隔离404问题排查与解决

以下是针对该问题的具体解决步骤:

核心路径修正(最可能的原因)

如果你的项目是独立Blazor Web应用(非Razor类库RCL),_content/前缀是多余的,独立项目的隔离CSS文件会直接发布到根静态资源目录,正确的引用路径应为:

<!-- 替换[MyAssemblyName]为实际程序集名称 -->
<link rel="stylesheet" href="[MyAssemblyName].styles.css" />

_content/前缀仅适用于引用Razor类库中打包的静态资源,不要在独立项目中使用。

验证程序集名称匹配

打开项目属性的「应用」标签,确认[MyAssemblyName]完全匹配「程序集名称」字段,注意大小写、空格和特殊字符的一致性。

检查中间件顺序

确保UseStaticFiles()的位置正确,必须在路由和Blazor组件映射之前,示例正确的Program.cs结构:

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents();

builder.WebHost.UseStaticWebAssets();

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles(); // 此中间件必须在路由和Blazor组件映射之前
app.UseRouting();

app.MapRazorComponents<App>()
    .AddInteractiveServerRenderMode();

app.Run();

确认CSS文件配置

  • 组件对应的CSS文件必须遵循命名规则:例如Index.razor对应Index.razor.css,且与组件文件放在同一目录。
  • 右键CSS文件→属性,确认「生成操作」设置为Content(默认应为该值,若不是手动修改)。

清理重建项目

开发环境下资源缓存可能导致文件未同步,执行以下操作:

  • 右键解决方案→清理解决方案
  • 删除项目根目录下的bin和obj文件夹
  • 右键解决方案→生成解决方案

内容的提问来源于stack exchange,提问作者bilpor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:54:57