Ian*_*vis 455 namespaces asp.net-mvc-4 asp.net-optimization
我正在尝试在我最近从MVC 3转换为MVC 4 beta的项目中使用新的捆绑功能.它需要global.asax中的一行代码BundleTable.Bundles.RegisterTemplateBundles();,这需要using System.Web.Optimization;在顶部.
当我这样做时,我得到了红色的波浪形线条,上面写着:"你错过了一个装配参考吗?" 当我尝试添加引用,并单击对话框中的.NET选项卡时,从AZ排序,我没有看到System.Web.Optimization.
如何将此ref添加到我的项目中?谢谢.
mhu*_*mhu 724
Microsoft.Web.Optimization包现已过时.使用ASP.NET(MVC)4及更高版本,您应该安装Microsoft ASP.NET Web Optimization Framework:
从nuget安装包:
Install-Package Microsoft.AspNet.Web.Optimization
Run Code Online (Sandbox Code Playgroud)在App_Start\BundleConfig.cs中创建和配置bundle:
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")
);
}
}
Run Code Online (Sandbox Code Playgroud)从global.asax.cs中的Application_Start()调用RegisterBundles()函数:
using System.Web.Optimization;
protected void Application_Start() {
...
BundleConfig.RegisterBundles(BundleTable.Bundles);
...
}
Run Code Online (Sandbox Code Playgroud)在view.cshtml中包含Optimization命名空间并呈现包:
@using System.Web.Optimization
@Scripts.Render("~/Scripts/jquery")
@Scripts.Render("~/Scripts/knockout")
Run Code Online (Sandbox Code Playgroud)有关更多信息,请参见http://www.asp.net/mvc/overview/performance/bundling-and-minification
可以使用更新
版本1.1.x,阅读发行说明:https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
Noe*_*ams 83
随着ASP.Net MVC 4的最终发布版本,方法如下:
通过nuget安装Microsoft.AspNet.Web.Optimization(因为它没有被框架安装)
install-package Microsoft.AspNet.Web.Optimization
Run Code Online (Sandbox Code Playgroud)在Global.asax Application_Start中创建包:
var scripts = new ScriptBundle("~/MyBundle");
scripts.IncludeDirectory("~/Scripts/MyDirectory", "*.js");
BundleTable.Bundles.Add(scripts);
Run Code Online (Sandbox Code Playgroud)将"System.Web.Optimization"命名空间添加到"Views"web.config:
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)在view.cshtml中,在最后一步中创建的包中添加一个include:
@Scripts.Render("~/MyBundle")
Run Code Online (Sandbox Code Playgroud)在调试模式下,目录中的所有脚本文件都将单独呈现; 在发布模式下,它们将被捆绑和缩小.
M. *_*lah 16
从nuget更新(重新安装)软件包,您可以使用以下命令:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
ami*_*ine 14
在我的情况下这是一个tfs问题,因为tfs排除了二进制文件,所以Nugget PM找到安装的块并且不更新库如果你有类似的问题:
注意:package文件夹与yousolution.sln文件位于同一级别
Myz*_*fer 11
使用nuget在包管理器控制台中卸载System.Web.Optimization,如下所示:
卸载 - 打包Microsoft.AspNet.Web.Optimization
然后重新安装使用:
安装包Microsoft.AspNet.Web.Optimization
可以为你解决这个问题.
小智 6
通过Visual Studio 从NUGet安装它打开Visual Studio 2010,选择工具 - >库包管理器 - >包管理器控制台
这将打开conslve,粘贴
Install-Package Microsoft.AspNet.Web.Optimization
Run Code Online (Sandbox Code Playgroud)
并输入.你完成了
| 归档时间: |
|
| 查看次数: |
366601 次 |
| 最近记录: |