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

Tha*_*era 8 css c# asp.net-core blazor blazor-webassembly

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


我做了什么

我创建了一个具有身份验证功能的 .NET 核心托管 Blazor WebAssembly 应用程序。运行应用程序。工作得很好。

然后我更改了项目名称{PROJECT NAME}。客户端项目为“{PROJECT NAME}.Admin”。基本上所有地方都从“客户端”更改为“管理员”。

  • 到处都提到了命名空间
  • 项目文件夹中的 Client 文件夹

然后我添加了项目参考。

当我运行该项目时... 是登陆页面。


问题

所有功能都运行良好。所有组件均已渲染。但只有 Bootstrap 样式适用于 MainLayout 和 NavMenu 组件,因为它们使用 CSS 隔离。隔离的 CSS 文件生成的文件范围标识与渲染到 DOM 的文件范围标识不同。

{PROJECT NAME}.Admin.styles.css 文件的图像

渲染的 HTML图像

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


我只是在玩 Blazor。因此,我期待解决此问题,而不是使用某种替代方法或解决方法来进行样式设置。我是在线论坛的新手。抱歉提供了不必要的信息或提供的信息较少。请索取所需的任何其他信息。

Tha*_*era 12

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


小智 7

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

这样我就不需要删除并重新创建特定的 css 文件。注意:我将 Blazor 服务器与 ASP.NET 5 结合使用