VS2022提示“include不是已知@指令”:.NET7 Blazor项目CSS配置问题
解决Blazor App中使用Bootstrap Sass mixin报错的问题
问题原因
你在普通.css文件中使用了Sass特有的@include指令,而普通CSS解析器无法识别Sass语法,因此抛出"include" is not a known '@' directive错误。media-breakpoint-down是Bootstrap Sass提供的mixin,必须在Sass文件(.scss/.sass)中配合Sass预处理器才能使用。
解决步骤
重命名样式文件
将wwwroot/css/app.css重命名为wwwroot/css/app.scss,把原CSS内容和你的自定义Sass代码都迁移到这个文件中。引入Bootstrap Sass依赖
在app.scss开头添加Bootstrap Sass的引用,确保能调用它的变量和mixin:// 引入完整Bootstrap Sass(或按需引入变量、mixin模块) @import "bootstrap/scss/bootstrap";若仅需断点相关功能,也可单独引入必要模块:
@import "bootstrap/scss/variables"; @import "bootstrap/scss/mixins";配置项目编译Sass
编辑Blazor项目文件(.csproj),添加Sass编译配置,让项目构建时自动将.scss编译为.css:<ItemGroup> <SassCompile Include="wwwroot/css/app.scss" /> </ItemGroup>确认页面样式引用
检查index.html(WebAssembly项目)或_Layout.cshtml(Server项目)中的样式引用,确保指向编译后的app.css:<link href="css/app.css" rel="stylesheet" />保留自定义断点样式
在app.scss中保留你的断点样式代码:@include media-breakpoint-down(md) { .nav-item { border-bottom: solid thin #fff; } }
完成以上配置后,项目构建时会自动编译Sass文件,你的断点样式即可正常生效。
内容的提问来源于stack exchange,提问作者M Kenyon II
相关产品推荐
相关产品推荐

