我最近将一个宠物项目从 Blazor .NET 3.1 迁移到 .NET 5.0,并尝试切换到使用 css 隔离。
我创建了一个 scss 文件(它使用 webcompiler 扩展编译为一个 css 文件),其前缀与我的组件相同:
我已经在我的 index.html 文件中包含了生成的 css:
<link href="FinNodeWASM.Client.styles.css" rel="stylesheet">
Dotnet 正在正确生成 css 并按预期附加范围标识符属性:但是,当我查看生成的 HTML 时,我在那里没有看到预期的分数标识符属性:
最佳答案
升级一个简单的项目时,我遇到了同样的问题。我比较了一个新创建的 Blazor csproj 文件并删除了 RuntimeIdentifier 和 RazorLangVersion 为我修复了它。
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
*** DELETE THIS LINE *** -> <RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
*** DELETE THIS LINE *** -> <RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0' ">
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0-*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.0-*" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="5.0.0-*" />
<PackageReference Include="Microsoft.Authentication.WebAssembly.Msal" Version="5.0.0-*" />
<PackageReference Include="System.Net.Http.Json" Version="5.0.0-*" />
</ItemGroup>
</Project>
关于sass - 迁移到 .NET 5.0 并使用 SASS 后,Blazor CSS Isolation 不起作用且未添加范围标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64833632/