VS2013+MVC4,不支持BundleConfig,解决方案

由于没有升级到MVC5,想使用地址重写(CSS和JS压缩并重写地址),创建项目后,发现不支持这个方法!!

以下是本人的随手笔记

参考博客地址:https://www.cnblogs.com/jt789/p/4606972.html

步骤:

1、程序添加三个DLL
    System.Web.Optimization.dll
    Antlr3.Runtime.dll
    WebGrease.dll

2、Views中的Web.Config添加[<add namespace="System.Web.Optimization"/>]
    <system.web.webPages.razor>
        <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
            <namespaces>
                <add namespace="System.Web.Optimization"/>
            </namespaces>
        </pages>
    </system.web.webPages.razor>

3、Web.Config添加
    <system.web>
        <pages>
            <namespaces>
                <add namespace="System.Web.Optimization" />
            </namespaces>
        </pages>
    </system.web>

    system.webserver下面添加
    
    <runtime>

        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

            <dependentAssembly>
                <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
                <bindingRedirect oldVersion="1.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
            </dependentAssembly>

        </assemblyBinding>
    </runtime>

4、Global.asax 注册BundleConfig.cs
    //手动增加BundleConfig
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    BundleTable.EnableOptimizations = true;//是否启用优化


使用BundleConfig的注意事项

1.对CSS文件打包时,虚拟路径必须是在Content下,否则会出现如Bootstrap找不字体路径问题

2.对CSS文件打包时,虚拟路径必须是实际路径没有的,如果与实际相同,则会出错或找不到

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

3.对JS文件打包时,不会对min的文件起作用,因为已经是压缩的,因此不要包含min文件

猜你喜欢

转载自www.cnblogs.com/charlenelovely/p/9341751.html