因爲沒有升級到MVC5,想使用地址重寫(CSS和JS壓縮並重寫地址),建立項目後,發現不支持這個方法!!css
如下是本人的隨手筆記html
參考博客地址:https://www.cnblogs.com/jt789/p/4606972.htmlweb
步驟:字體
一、程序添加三個DLL System.Web.Optimization.dll Antlr3.Runtime.dll WebGrease.dll 二、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> 三、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> 四、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文件
優化