【问题标题】:ASP MVC4 and Azure - Bundling and Minification stopped working for me when I publish to AzureASP MVC4 和 Azure - 当我发布到 Azure 时,捆绑和缩小不再为我工作
【发布时间】:2012-12-06 18:09:14
【问题描述】:

在我选择的 Windows Azure 发布设置中:

Environment: Production
Build Configuration: Release

在我的 Web.Release.config 我有:

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />

我之前进行过捆绑工作,但我没有对我所知的代码进行任何更改。然而现在 当我发布到云端并查看网页时,似乎根本没有捆绑。 所有的javascript和CSS都是一一下载的。

我有什么遗漏吗?这曾经有效,现在似乎不起作用 全部。

我是否需要明确设置以下内容:

<compilation debug="false" targetFramework="4.0">

或者这个:

public static void RegisterBundles(BundleCollection bundles) {
   ...
   ...
   BundleTable.EnableOptimizations = true;
}

请注意,当我添加上述行时,我收到一条消息:EnableOptimizations 是一个属性,但用作类型。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 azure


    【解决方案1】:

    在 web config 中将 debug 设置为 false

    <compilation debug="false" targetFramework="4.0">
    

    它应该按预期工作!

    哦,还有一件事:

    BundleTable.EnableOptimizations = true;
    

    覆盖 Web.Config 设置,因此如果将其设置为 true 并且 Web.Config 设置为调试,它应该也可以工作。

    如果您想使用它,请检查您是否确实在正确的位置添加了 BundleTable...,如下所示:

       public static void RegisterBundles(BundleCollection bundles)
        {
            BundleTable.EnableOptimizations = true; 
    

    编辑:包括一个工作的 BundleConfig 以供参考

    using System.Web;
    using System.Web.Optimization;
    
    namespace YourNameSpace
    {
        public class BundleConfig
        {
            // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
            public static void RegisterBundles(BundleCollection bundles)
            {
    
                bundles.Add(new ScriptBundle("~/bundles/wf").Include(
                 "~/Scripts/jquery-{version}.js",
                 "~/Scripts/jquery-ui-{version}.js",
                 "~/Scripts/jquery.unobtrusive*",
                 "~/Scripts/jquery.validate*",
                 "~/Scripts/jquery.wf.overrides.js",
                 "~/Scripts/popup.unobtrusive.js"));
                BundleTable.EnableOptimizations = true; 
            }
    
        }
     }
    

    【讨论】:

    • 非常感谢。我正在尝试你所有的建议。我过会儿再来汇报。
    • 添加了 BundleTable.EnableOptimizations 现在效果很好。你能告诉我这是什么新东西吗?很长一段时间我都有相同的代码,现在似乎它才没有做捆绑。但是我最近可能做的是在用于捆绑的包上单击 Nuget 中的更新。
    • 太棒了!我很高兴我能帮上忙 :) 一般来说,我主要使用 debug="false" 来表示特定于发布的 web.config,但 BundleTable 也很好用。这种官方的捆绑和缩小技术是 ASP.Net 4.5 的新功能。
    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 2013-02-01
    • 2023-03-03
    • 2012-06-27
    • 1970-01-01
    相关资源
    最近更新 更多