【发布时间】:2018-02-04 00:37:56
【问题描述】:
在旧的 ASP.NET 中,我们将 Bootstrap 安装为 NuGet 包,它将安装 ~/Content/bootstrap 目录中的所有文件。这使得创建导入 Bootstrap 的自定义 bootstrap.less 文件变得容易,这样我们就可以覆盖我们想要的内容,同时仍然保持库完整,以便随时更新。
例如,我可以在我的自定义 less 文件中执行此操作,以启用具有一些自定义变量和覆盖的特殊 bootswatch 主题。然后我可以编译它并将其添加到站点 css 中。
@import "bootstrap/bootstrap.less";
@import "bootstrap/_variables.less";
@import "bootstrap/_bootswatch.less";
@import "custom.less";
在 dot net core 2.0 中,默认情况下没有 ~/Content 目录,而 css 确实是从新的 wwwroot 目录提供的。现在通过 NuGet 安装 Bootstrap 时,它被添加为“依赖项”。我找不到像以前那样导入引导较少文件的方法,因为我不知道路径,如果有的话。
我创建了一个自定义~/Styles/bootstrap.less 文件,我尝试在其中使用上面的导入,但编译器找不到它们。我在解决方案根目录的/packages/bootstrap.less.3.3.7/content/Content/bootstrap.less 中找到了.less 文件,但import-statements 似乎无法访问这些文件。
@import '../../packages/bootstrap.less.3.3.7/content/Content/bootstrap.less';
我得到的错误很简单:
文件错误:未找到“../../packages/bootstrap.less.3.3.7/content/Content/bootstrap.less”。
尝试过 - [SOLUTIONPATH]\packages\bootstrap.less.3.3.7\content\Content\bootstrap.less,
....\packages\bootstrap.less.3.3.7\content\Content\bootstrap.less in \Styles_bootstrap.less
如何覆盖 bootstrapless 文件?我是否必须将引导程序自己下载到我的~/Styles/ 目录才能导入它们?这会破坏通过 NuGet 进行更新的可能性:/
【问题讨论】:
-
这些路径看起来像
.net framework文件夹结构。.net core使用~/lib/bootstrap/和凉亭包 -
顺便说一下
.net core不支持客户端的nugets。不知道你是怎么安装的。.net core主要使用凉亭 -
有趣,我刚刚从我的 .net 核心项目的 NuGet 包管理器中选择了 Bootstrap.Less。我想那是不正确的:P
-
当我从 nuget 尝试客户端库时,它曾经显示错误。 .net 核心通常配备了 bootstrap bower 包,其中也包含 less。你在使用 Visual Studio 2017 吗?
-
是的,使用 VS Community 2017。我想我会研究一下 Bower。以前没用过。
标签: asp.net-mvc twitter-bootstrap-3 .net-core