Blazor WebAssembly CSS 隔离范围的身份不匹配

问题描述

在 Blazor WebAssembly .NET Core 托管应用程序中,将 {PROJECT NAME}.Client 项目名称更改为“{PROJECT NAME}.Admin”(更改客户端项目名称)后,范围标识 {PROJECT 中的 CSS 隔离NAME}.Admin.styles.css 文件和 DOM 中的渲染对象不同。


我做了什么

我创建了一个带有身份验证的 .NET 核心托管 Blazor WebAssembly 应用程序。运行应用程序。工作正常。

然后我将{PROJECT NAME}.Client 项目的项目名称更改为“{PROJECT NAME}.Admin”。基本上每个有“客户”的地方都改成了“管理员”。

然后我添加了项目引用。

当我运行该项目时... This 是着陆页。


问题

所有功能都运行良好。所有组件都被渲染。但是只有 Bootstrap 样式应用于 MainLayout 和 NavMenu 组件,因为它们使用 CSS 隔离。独立的 CSS 文件生成文件范围标识与呈现给 DOM 的不同。

Image of {PROJECT NAME}.Admin.styles.css file

Image of Rendered HTML

如果我手动更改范围标识,页面呈现良好。但是当我下次运行应用程序时它会重置。


我只是在玩 Blazor。所以我期待解决这个问题,而不是一些替代方法解决样式。我是在线论坛的新手。很抱歉提供不必要的信息或提供较少的信息。请索取所需的任何其他信息。

谢谢!提前。

解决方法

删除 CSS 隔离文件并从头开始重新创建它们就行了!如何重建解决方案或清洁解决方案不起作用。仍然不知道发生了什么。

,

除了将指向 css 文件的链接重命名为 {AssemblyName}.styles.css 之外,对我有用的是删除 objbin 文件夹。 如果它与 AssemblyName 不同,则将其设置为 ProjectName 不起作用。

这样我就没有必要删除和重新创建特定的 css 文件。 注意:我在 ASP.NET 5 中使用 Blazor 服务器