ASP MVC4 和 Azure - 当我发布到 Azure 时,捆绑和缩小对我不起作用



在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 是一个属性,但像类型一样使用。

在 Web 配置中将调试设置为 false

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

它应该按预期工作!

哦,还有一件事:

BundleTable.EnableOptimizations = true;

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

如果您想使用它,请检查您是否实际添加了捆绑表...在正确的位置,像这样:

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

编辑:包括一个工作捆绑配置以供参考

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; 
        }
    }
 }

相关内容

最新更新