2

我试图为我的应用程序捆绑脚本和样式bootstrap。我的调试正在工作但是,当我发布它时,不要加载脚本和样式。捆绑MVC4.5发布后不工作

我添加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" 
      )); 

    } 

在_layaout

<link href="@Styles.Url("~/content/css")" rel="stylesheet" /> 
@Scripts.Render("~/js") 

增加注册这个全球

BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles); 

和设置样式/脚本但是,当发布它,打开查看页面源文件

<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' 

我在谷歌搜索和使用不同的方法,但错误没有解决。

  1. 所有样式添加到一个特殊的路径(内容/他们/引导),并使用new StyleBundle("~/content/Them/Bootstrap")

  2. 使用BundleTable.EnableOptimizations = true;

等..

回答

0

你的CSS有一些'问题'时,缩小。这可能是因为糟糕的CSS或不好的优化。

试着验证你的CSS,看看你是否能够发现罪魁祸首。

解决方法是使用BundleTable.EnableOptimizations = false,它不会缩小CSS。

为了“调试”这个本地主机上,改变你的网络配置和删除属性调试=真(这会让你的CSS缩小您的开发机器上)

也对你的包不同的文件夹基地将使样式表上的任何相对网址(如背景图片)无法使用。

+0

我删除了'BundleTable.EnableOptimizations'但不起作用。 – Niloo

+0

我从来没有告诉过你删除它。 –

+0

我设置了false/true,但不加载样式/脚本。 – Niloo

1

这通常会发生如果您的CSS文件格式不正确,请将您的CSS代码使用http://csslint.net/进行测试。

此外,如果你想调试这个不发表您可以将此行添加到您的BundleConfigRegisterBundles方法,你可以使用这个

@Styles.Render("~/content/css") 

而不是使用此行

<link href="@Styles.Url("~/content/css")" rel="stylesheet" /> 

BundleTable.EnableOptimizations = true; 
+0

谢谢,我测试的CSS和我纠正任何错误(不要更正警告)。并使用'@ Styles.Render(“〜/ content/css”)'。它在发布中看到css文件时删除错误,但不加载样式文件。 :( – Niloo

+0

如果这是一个不正确的样式,为什么它会在本地运行时工作?当我发布时,我与文件权限有关吗? – Zapnologica

0

这是罪魁祸首@charset "UTF-8"。搜索你的css文件,看看你能否找到它。这需要位于捆绑的css文件的顶部。即在束列表中第一个CSS文件的顶部。如果不是,它将无法缩小。

它通常在CSS文件中有Unicode字符时使用。这通常是因为使用了像字体一样的图标字体。但是如果你不需要它在你的CSS文件中,那么就把它拿出来。

+0

我在css文件中搜索,但没有找到@charset UTF-8“ 。 – Niloo

0

https://stackoverflow.com/a/19544226/2440976 - 这是一个DUP的问题,我相信 - 这很可能是一个简单的答案(这为我工作!)

(从答案)IIS配置>认证> RightClickOn匿名验证>点击编辑>检查应用程序池身份