我开始使用.NET 4.5内置的缩小和捆绑来缩小和缩小捆绑我的CSS和JavaScript。 JavaScript缩小效果很好,然而,我在CSS缩小时遇到了麻烦。我使用下面的代码创建一个样式包 -
var myCss = new string[]
{
"~/Content/jquery.css",
"~/Content/app.css",
};
bundles.Add(new StyleBundle("~/bundles/MySiteCss/").Include(myCss ));
然后我在.cshtml(razor文件)中引用它们,如下所示 -
@Styles.Render("~/bundles/MySiteCss/")
它缩小了CSS文件。但是,如果CSS文件包含具有背景图像引用的样式,例如background-image:url('img / icon.png'),它会尝试从新位置加载此图标文件(从包名称派生) = /bundles/MySiteCss/img/icon.png
由于该位置不存在图标,因此不会加载并显示在页面上。
答案 0 :(得分:10)
您需要在同一个地方提供捆绑包和CSS,以便轻松使用。例如,将捆绑行更改为:
bundles.Add(new StyleBundle("~/Content/MySiteCss/").Include(myCss));
并更新您的参考资料:
@Styles.Render("~/Content/MySiteCss/")
答案 1 :(得分:0)
已在Microsoft ASP.NET Web优化框架的1.1.0-alpha1版本中修复此问题 如果包含Prerelease,您可以通过NuGet(https://nuget.org/packages/Microsoft.AspNet.Web.Optimization)获取更新。