MVC5手工添加System.Web.Optimization

VS2012web手工添辑一个空的mvC5的项目,添加EF6的支持,在别的项目里复制了母版页_Layout.cshtml过来,发现Styles.Render未引用,这个引用使用的命名空间是System.Web.Optimization,直接在项目里添加是找不到的,如是在NuGet命令行添加Install-Package Microsoft.AspNet.Web.Optimization

PM> Install-Package Microsoft.AspNet.Web.Optimization
正在尝试解析依赖项“Microsoft.Web.Infrastructure (≥ 1.0.0)”。
正在尝试解析依赖项“WebGrease (≥ 1.5.2)”。
正在尝试解析依赖项“Antlr (≥ 3.4.1.9004)”。
正在尝试解析依赖项“Newtonsoft.Json (≥ 5.0.4)”。
正在安装“Antlr 3.4.1.9004”。
已成功安装“Antlr 3.4.1.9004”。
正在安装“Newtonsoft.Json 5.0.8”。
已成功安装“Newtonsoft.Json 5.0.8”。
正在安装“WebGrease 1.5.2”。
您正在从 [email protected] 下载 WebGrease,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/msn_webgrease_eula.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。
已成功安装“WebGrease 1.5.2”。
正在安装“Microsoft.AspNet.Web.Optimization 1.1.3”。
您正在从 Microsoft 下载 Microsoft.AspNet.Web.Optimization,有关此程序包的许可协议在 http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm 上提供。请检查此程序包是否有其他依赖项,这些依赖项可能带有各自的许可协议。您若使用程序包及依赖项,即构成您接受其许可协议。如果您不接受这些许可协议,请从您的设备中删除相关组件。
已成功安装“Microsoft.AspNet.Web.Optimization 1.1.3”。

到已成功安装"Microsoft.AspNet.Web.Optimization 1.1.3"这时就已经安装成功了,会自动给你的项目添加相关dll

此时发现Styles.Render依然不可用,于是乎,我们给他增加命名空间View下面的webConfig添加

    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.Optimization"/>
      </namespaces>
    </pages>

再次,在App_start下手工添加BundleConfig文件来加载css和js文件

using System.Web;
using System.Web.Optimization;

namespace FoodCountSystem
{
    public class BundleConfig
    {
        // 有关 Bundling 的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=254725
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery-ui-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));

            // 使用要用于开发和学习的 Modernizr 的开发版本。然后,当你做好
            // 生产准备时,请使用 http://modernizr.com 上的生成工具来仅选择所需的测试。
            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

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

            bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                        "~/Content/themes/base/jquery.ui.core.css",
                        "~/Content/themes/base/jquery.ui.resizable.css",
                        "~/Content/themes/base/jquery.ui.selectable.css",
                        "~/Content/themes/base/jquery.ui.accordion.css",
                        "~/Content/themes/base/jquery.ui.autocomplete.css",
                        "~/Content/themes/base/jquery.ui.button.css",
                        "~/Content/themes/base/jquery.ui.dialog.css",
                        "~/Content/themes/base/jquery.ui.slider.css",
                        "~/Content/themes/base/jquery.ui.tabs.css",
                        "~/Content/themes/base/jquery.ui.datepicker.css",
                        "~/Content/themes/base/jquery.ui.progressbar.css",
                        "~/Content/themes/base/jquery.ui.theme.css"));
        }
    }
}

然后在Global.asax中注册BundleConfig.RegisterBundles(BundleTable.Bundles);

到这里,mvc的母版页已正常可以使用了,并用可以使用BundleTable.Bundles来加载js和css文件,这个方法确实非常实用,且功能强大,能够压缩合并js和CSS,并且自己很容易扩展,方便快捷。

时间: 2024-10-12 22:57:59

MVC5手工添加System.Web.Optimization的相关文章

System.Web.Optimization找不到引用

在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimization命名空间.如下图所示, 那么如何找到System.Web.Optimization命名空间,完成BundleConfig.cs内容的添加.方法如下:打开程序包管理控制台,在控制台中输入: Install-Package Microsoft.AspNet.Web.Optimization按回车.在控

asp.net mvc4 System.Web.Optimization找不到引用

在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimization命名空间. 如何找到System.Web.Optimization命名空间,完成BundleConfig.cs内容的添加.方法如下:打开程序包管理控制台,在控制台中输入:Install-PackageMicrosoft.AspNet.Web.Optimization按回车. 在控制台中如果看到提示

MVC 中 System.Web.Optimization 找不到引用

在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimization命名空间 方法如下:打开程序包管理控制台,在控制台中输入:Install-PackageMicrosoft.AspNet.Web.Optimization按回车. 链接: http://blog.csdn.net/mymhj/article/details/37559661

vs2012找不到system web optimization命名空间

今天新装了vs2012,安装完成后,创建了一个mvc4应用程序,创建生成出现了几个错误.通过错误我们的解决方案就是去找引用不到的路径,如何在vs2012中实现呢? 在工具栏中找工具--库程序包管理器---程序包管理器控制台 完成后下方会出现一个控制台框.在控制台中输入 Install-Package Microsoft.AspNet.Web.Optimization 回车,即可将未引用的程序集下载下来.目前我只完成到这一部,可是通过项目 添加引用总是不成功,不知道为啥.求指教. vs2012找不

使用System.Web.Optimization对CSS和JS文件合并压缩

在ASP.NET MVC 中JS/CSS文件动态合并及压缩通过调用System.Web.Optimization定义的类ScriptBundle及StyleBundle来实现. 大致步骤如下: 1.App_Start添加: public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new StyleBundle("~/Themes/Homecss&q

在ASP.NET Web Forms中用System.Web.Optimization取代SquishIt

将一个ASP.NET Web Forms项目从.NET Framework 4.0升级至.NET Framework 4.5之后,发现SquishIt竟然引发了HTTP Error 500.0 - Internal Server Error. SquishIt是一个开源的支持ASP.NET的js/css打包工具,项目地址:https://github.com/jetheredge/SquishIt,出生早于Microsoft ASP.NET Web Optimization Framework(

安装升级System.Web.Optimization.dll

今天在使用backload时,VS提示solution所引用的System.Web.Optimization.dll 版本低,编译不过,于是便删掉,从新添加引用,悲剧的是在添加引用窗口中没找到,在NuGet的包管理器中也没找到. 解决方案:在包管理控制台输入下面的命令,即可安装. Install-Package Microsoft.AspNet.Web.Optimization

System.Web.Optimization对脚本和样式表的压缩操作

1 是否允许样式表压缩 BundleTable.EnableOptimizations = true; 在MVC项目中的 BundleConfig操作中是微软已经给我们准备好的CSS和JS压缩,我们可以把模版页的样式表和脚本放入这个地方压缩(子页太多,所以另作压缩).这个配置文件在App_Start文件夹下,Global.asax在全局配置文件下,会启用这个配置文件,对EnableOptimizations设置后,可以允许压缩和不允许操作 1 bundles.Add(new StyleBundl

System.Web.Optimization 合并压缩技术的使用

捆绑和压缩原理是:将多个css文件动态合并和压缩为一个css文件.多个js文件动态合并和压缩为一个js文件,如此达到减少浏览器对服务器资源文件的请求数量.缩小资源文件的尺寸来提高页面反应速度的目的.ASP.NET 4.5及以上版本支持此技术(Optimization). 使用方法: 先下载包Microsoft.AspNet.Web.Optimization,然后配置做以下配置:  第一步:照惯例,在App_start文件夹下新建类,如图: 这里有个参数“BundleTable.EnableOpt