Blazor CSS隔离不起作用,并且在迁移到.NET 5.0并使用SASS后未添加范围标识符
我最近将一个pet项目从Blazor.NET3.1迁移到.NET5.0,并尝试切换到使用css隔离 我创建了一个scss文件(使用webcompiler扩展名编译为css文件),其前缀与我的组件相同: 我已将生成的css包含在index.html文件中:Blazor CSS隔离不起作用,并且在迁移到.NET 5.0并使用SASS后未添加范围标识符,sass,.net-5,web-compiler,Sass,.net 5,Web Compiler,我最近将一个pet项目从Blazor.NET3.1迁移到.NET5.0,并尝试切换到使用css隔离 我创建了一个scss文件(使用webcompiler扩展名编译为css文件),其前缀与我的组件相同: 我已将生成的css包含在index.html文件中: <link href="FinNodeWASM.Client.styles.css" rel="stylesheet"> Dotnet正在正确生成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>
net5.0
***删除此行***->浏览器wasm
***删除此行***->3.0
升级到.NET 5后,我忘记在Blazor服务器项目的_Host.cshtml中包含引用。感谢您在上面的问题中指出:)
包括参考资料可以解决问题:
<link href="AssemblyName.styles.css" rel="stylesheet">
当我的
ASPNETCORE\u环境
设置为“开发”以外的内容时,我遇到了这个问题。这似乎是一个已知问题,要解决此问题,您需要设置webBuilder.UseStaticWebAssets()代码>在Program.cs
中:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStaticWebAssets();
webBuilder.UseStartup<Startup>();
});
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.useserlog()
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStaticWebAssets();
webBuilder.UseStartup();
});
问题:
解决方案:谢谢!删除3.0
对我来说是个好办法。我有这个问题,但没有什么可以删除csproj文件中的这两个。我也有同样的问题。经过几次重建后,它就可以工作了,没有更改csproj文件中的任何内容。