Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blazor CSS隔离不起作用,并且在迁移到.NET 5.0并使用SASS后未添加范围标识符_Sass_.net 5_Web Compiler - Fatal编程技术网

Blazor CSS隔离不起作用,并且在迁移到.NET 5.0并使用SASS后未添加范围标识符

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,并按预期添加范围标识符属性:

我最近将一个pet项目从Blazor.NET3.1迁移到.NET5.0,并尝试切换到使用css隔离

我创建了一个scss文件(使用webcompiler扩展名编译为css文件),其前缀与我的组件相同:

我已将生成的css包含在index.html文件中:

<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文件中的任何内容。