由于没有升级到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文件
来源:oschina
链接:https://my.oschina.net/u/4319036/blog/3283227