如何为MVC-3转换为4应用程序添加对System.Web.Optimization的引用

会有一股神秘感。 提交于 2020-02-26 18:58:01

我正在最近从MVC 3转换为MVC 4 beta的项目中尝试使用新的捆绑功能。 它需要global.asax中的一行代码, BundleTable.Bundles.RegisterTemplateBundles(); ,这需要using System.Web.Optimization; 在顶部。

当我这样做时,我会看到红色的波浪线,上面写着:“您是否缺少程序集引用?” 当我尝试添加引用时,单击对话框中的.NET选项卡,从AZ排序,我看不到System.Web.Optimization

如何将此引用添加到我的项目中?


#1楼

更新资料
版本1.1.x可用,请阅读发行说明: https : //www.nuget.org/packages/Microsoft.AspNet.Web.Optimization


Microsoft.Web.Optimization包现在已过时。 对于ASP.NET(MVC)4和更高版本,您应该安装Microsoft ASP.NET Web优化框架:

  • nuget安装软件包:

    Install-Package Microsoft.AspNet.Web.Optimization
  • 在App_Start \\ BundleConfig.cs中创建和配置捆绑包:

    public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/jquery").Include( "~/Scripts/Lib/jquery/jquery-{version}.js", "~/Scripts/Lib/jquery/jquery.*", "~/Scripts/Lib/jquery/jquery-ui-{version}.js") ); bundles.Add(new ScriptBundle("~/Scripts/knockout").Include( "~/Scripts/Lib/knockout/knockout-{version}.js", "~/Scripts/Lib/knockout/knockout-deferred-updates.js") ); } }
  • 从global.asax.cs中的Application_Start()调用RegisterBundles()函数:

    using System.Web.Optimization; protected void Application_Start() { ... BundleConfig.RegisterBundles(BundleTable.Bundles); ... }
  • 在您的view.cshtml中包括Optimization名称空间并呈现捆绑包:

    @using System.Web.Optimization @Scripts.Render("~/Scripts/jquery") @Scripts.Render("~/Scripts/knockout")

有关更多信息,请参见http://www.asp.net/mvc/overview/performance/bundling-and-minification


#2楼

在我的情况下,这是一个tfs问题,因为tfs排除了二进制文件,因此Nugget PM找到已安装的nugget,并且不更新库如果您遇到类似的问题:

  • 转到源代码管理
  • 导航到.. \\ packages \\ Microsoft.Web.Optimization
  • 添加lib文件夹(取消选中排除二进制扩展名)
  • 更新您的解决方案并从路径添加dll引用

注意:软件包文件夹位于yousolution.sln文件的同一级别中


#3楼

在Global.asax application_start中设置(在RELEASE模式下等):

BundleTable.EnableOptimizations = **true**;

启用最小化并在DEBUG模式下更改为false,以分别渲染所有脚本和样式文件。


#4楼

通过Visual Studio从NUGet安装它打开Visual Studio 2010,选择“工具”->“库包管理器”->“包管理器控制台”

这将打开凹面,粘贴

Install-Package Microsoft.AspNet.Web.Optimization 

然后输入 你完成了


#5楼

使用nuget在程序包管理器控制台中卸载System.Web.Optimization,如下所示:

卸载打包Microsoft.AspNet.Web.Optimization

然后使用以下命令重新安装:

安装包Microsoft.AspNet.Web.Optimization

可以为您解决这个问题。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!