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

当我这样做时,我得到红色的弯曲线条,表示“您是否缺少一个汇编引用?”当我尝试添加引用,并单击对话框中的. net选项卡,从A-Z排序,我没有看到System.Web.Optimization。

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


当前回答

在我的情况下,这是一个tfs的问题,因为tfs排除二进制文件,所以Nugget PM找到安装的金块,不更新库 如果你有类似的问题:

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

注意:包文件夹是在同一级别的解决方案。sln文件

其他回答

在我的情况下,这是一个tfs的问题,因为tfs排除二进制文件,所以Nugget PM找到安装的金块,不更新库 如果你有类似的问题:

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

注意:包文件夹是在同一级别的解决方案。sln文件

从nuget更新(重新安装)包,你可以使用命令:

update-Package Microsoft.AspNet.Web.Optimization -重新安装

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

这将打开conslve,粘贴

Install-Package Microsoft.AspNet.Web.Optimization 

并输入。这样就做完了

随着ASP的最终发布版本。Net MVC 4的方法如下:

Install Microsoft.AspNet.Web.Optimization via nuget (as it is not installed by the framework) install-package Microsoft.AspNet.Web.Optimization Create the bundle in Global.asax Application_Start: var scripts = new ScriptBundle("~/MyBundle"); scripts.IncludeDirectory("~/Scripts/MyDirectory", "*.js"); BundleTable.Bundles.Add(scripts); Add the "System.Web.Optimization" namespace to the "Views" web.config: <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Optimization" /> </namespaces> </pages> In your view.cshtml add an include to the bundle created in the last step: @Scripts.Render("~/MyBundle")

在调试模式下,目录中的所有脚本文件将单独呈现;在发布模式下,它们将被捆绑和缩小。

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

Uninstall-Package Microsoft.AspNet.Web.Optimization

然后重新安装:

安装包Microsoft.AspNet.Web.Optimization

也许能为你解决这个问题。