Css 在虚拟路径中用点捆绑

Css bundling with dot in virtual path

Kendo 配置器将其 css 内容安装到“~/Content/kendo/2016.1.226”文件夹中。我需要在 mvc 捆绑器中创建相同的虚拟路径才能使其正常工作(请参阅 http://www.telerik.com/forums/asp-mvc-css-minification-breaks-kendo-bootstrap)。

但是,当我创建捆绑包时:

bundles.Add(new StyleBundle("~/Content/kendo/2016.1.226/kendo-css").Include(
            "~/Content/kendo/2016.1.226/kendo.common.min.css",
            "~/Content/kendo/2016.1.226/kendo.default.min.css"));

我收到 403 Forbidden 响应。有没有办法使包含点的虚拟路径起作用?

我们使用 .net 4.6.1 和 asp mvc 5.


显然,后备方案是重命名文件夹和所有路径,但我想问一下是否有其他方法。

这是因为您的包名称 (~/Content/kendo/2016.1.226/kendo-css) 包含与物理路径相同的路径。

我建议将您的包名称更改为 ~/css/kendo 之类的名称。

您还应该使用重写 then 来修复 URL,例如:

.Include("~/content/css/menusprites.css", new CssRewriteUrlTransform())

可以在这个 Telerik 论坛中找到更多内容 post:http://www.telerik.com/forums/asp-mvc-css-minification-breaks-kendo-bootstrap#KBg1hY3Z1EqbutQZxshjow