18

我最近将一个宠物项目从 Blazor .NET 3.1 迁移到 .NET 5.0,并试图切换到使用 css 隔离。

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

SCSS

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

<link href="FinNodeWASM.Client.styles.css" rel="stylesheet">

Dotnet 正在正确生成 css 并按预期附加范围标识符属性: 生成的 CSS

但是,当我查看生成的 HTML 时,我看不到预期的分数标识符属性:

在此处输入图像描述

4

3 回答 3

11

当我ASPNETCORE_ENVIRONMENT设置为“开发”以外的其他内容时,我遇到了这个问题。这似乎是一个已知问题,要解决您需要webBuilder.UseStaticWebAssets();设置Program.cs

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseSerilog()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStaticWebAssets();
                    webBuilder.UseStartup<Startup>();
                });

问题:https ://github.com/dotnet/aspnetcore/issues/28911

解决方案:https ://github.com/dotnet/aspnetcore/issues/28174#issuecomment-734239932

于 2021-05-08T11:37:14.803 回答
11

升级一个简单项目时我遇到了同样的问题。我比较了一个新创建的 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>
于 2020-11-15T16:39:50.440 回答
10

升级到 .NET 5 后,我忘记在我的 Blazor Server 项目中包含 _Host.cshtml 中的引用。感谢您在上面的问题中指出:)

包括参考解决了这个问题:

<link href="AssemblyName.styles.css" rel="stylesheet">
于 2021-05-03T08:17:19.077 回答