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文件