我尝试为我的应用程序捆绑脚本和样式引导程序。我的调试工作正常但是当我发布它时,不要加载脚本和样式。
我添加了BundleConfig(BootstrapBundleConfig)
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/js").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-1.10.4.custom.js",
"~/Scripts/jquery-migrate-{version}.js",
"~/Scripts/bootstrap.js",
"~/Scripts/gridmvc.js",
"~/Scripts/gridmvc.lang.fa.js",
"~/Scripts/jquery.validate.js",
"~/scripts/jquery.validate.unobtrusive.js",
"~/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js",
"~/scripts/entitypicker.js",
"~/scripts/js-persian-cal.js",
"~/scripts/json2.js",
"~/scripts/bootbox.js",
"~/Scripts/jalali.js",
"~/Scripts/calendar.js",
"~/Scripts/calendar-setup.js",
"~/Scripts/lang/calendar-fa.js"
));
bundles.Add(new StyleBundle("~/content/css").Include(
"~/Content/bootstrap.css",
"~/Content/bootstrap-responsive.css",
"~/Content/bootstrap-mvc-validation.css",
"~/Content/themes/ui-lightness/jquery-ui.css",
"~/Content/js-persian-cal.css",
"~/Content/entitypicker.css",
"~/Content/gridmvc.css",
"~/Content/aqua/theme.css",
"~/Content/calendar-system.css"
));
}
在Global
中添加注册BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);
并在_layaout
中设置样式/脚本<link href="@Styles.Url("~/content/css")" rel="stylesheet" />
@Scripts.Render("~/js")
但是在发布时,打开View Page Source
<link href="/Content/css?v=65vDyivXbF9ucPBBLls9CVnwUcCNass7hOMNUEXbN-I1" rel="stylesheet" />
当打开此文件时,第一行会出错。
/* Minification failed. Returning unminified contents.
(962,1): run-time error CSS1019: Unexpected token, found '@charset'
(962,10): run-time error CSS1019: Unexpected token, found '"UTF-8"'
(962,17): run-time error CSS1019: Unexpected token, found ';'
(994,1): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'
我在谷歌搜索并使用了不同的方法,但错误未得到解决。
将所有样式添加到特殊路径(Content / Them / Bootstrap)并使用new StyleBundle("~/content/Them/Bootstrap")
使用BundleTable.EnableOptimizations = true;
其它..
答案 0 :(得分:1)
如果您的css文件格式不正确,请使用http://csslint.net/对您的css代码进行测试,这通常会发生。
而不是使用此行
<link href="@Styles.Url("~/content/css")" rel="stylesheet" />
你可以用这个
@Styles.Render("~/content/css")
如果您想在不发布的情况下进行调试,可以将此行添加到RegisterBundles
的{{1}}方法中:
BundleConfig
答案 1 :(得分:1)
这是罪魁祸首@charset "UTF-8"
。搜索您的css文件,看看是否可以找到它。这需要位于捆绑的css文件的顶部。即在捆绑列表中的第一个CSS文件的顶部。如果不是,它将无法缩小。
当CSS文件中有Unicode字符时,通常会使用它。这通常是因为使用了像字体一样的图标字体。但是如果你不想在你的CSS文件中使用它,那就把它取出来。
答案 2 :(得分:0)
你的CSS有一些问题&#39;缩小时。这可能是由于糟糕的CSS或糟糕的优化。
尝试验证您的CSS,看看您是否能发现罪魁祸首。
要获得解决方法,请使用BundleTable.EnableOptimizations = false
来缩短css。
要调试&#39;这在本地主机上,更改您的Web配置并删除属性debug = true(这将使您的开发机器上的css缩小)
在捆绑包上使用不同的文件夹基础会使样式表上的任何相对网址(如背景图片)无效。
答案 3 :(得分:0)
https://stackoverflow.com/a/19544226/2440976 - 这是一个我认为的问题 - 这可能是简单的答案(对我有用!)
(来自回答)IIS配置&gt;身份验证&gt; RightClickOn匿名身份验证&gt;点击修改&gt;检查应用程序池标识