Questions tagged «asp.net-optimization»

与ASP.NET Microsoft.AspNet.Web.Optimization nuGet程序包(System.Web.Optimization命名空间)有关的问题,该程序包支持对javascript和CSS文件进行捆绑和最小化。

7
如何为MVC-3转换为4应用程序添加对System.Web.Optimization的引用
我试图在最近从MVC 3转换为MVC 4 beta的项目中使用新的捆绑功能。它需要global.asax中的一行代码BundleTable.Bundles.RegisterTemplateBundles();,这using System.Web.Optimization;在顶部。 当我这样做时,我会看到红色的波浪线,表示“您是否缺少程序集引用?” 当我尝试添加参考,然后单击对话框中的.NET选项卡时,从AZ排序,我看不到System.Web.Optimization。 如何将此引用添加到我的项目中?

16
MVC4 StyleBundle无法解析图像
我的问题与此类似: ASP.NET MVC 4缩小和背景图片 除非我愿意,否则我会坚持使用MVC的捆绑软件。我脑部崩溃,试图弄清楚指定样式束(例如独立的CSS和jQuery UI等图像集)的正确模式是什么。 我有一个典型的MVC站点结构,/Content/css/其中包含我的基本CSS,例如styles.css。在该css文件夹中,我还有子文件夹,例如/jquery-ui包含其CSS文件和一个/images文件夹的子文件夹。jQuery UI CSS中的图像路径是相对于该文件夹的,我不想弄乱它们。 据我了解,当我指定a时,StyleBundle我需要指定一个虚拟路径,该路径也与真实内容路径不匹配,因为(假设我忽略了通往Content的路由)IIS将尝试将该路径解析为物理文件。所以我指定: bundles.Add(new StyleBundle("~/Content/styles/jquery-ui") .Include("~/Content/css/jquery-ui/*.css")); 使用以下方式呈现: @Styles.Render("~/Content/styles/jquery-ui") 我可以看到请求发送到: http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1 这将返回正确的,缩小的CSS响应。但是随后浏览器发送一个请求,要求一个相对链接的图像,如下所示: http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png 这是一个404。 我知道我URL的最后一部分jquery-ui是无扩展名URL,这是我的包的处理程序,因此我可以看到为什么对图像的相对请求很简单/styles/images/。 所以我的问题是处理这种情况的正确方法是什么?


14
ASP.NET捆绑包如何禁用缩小
我都debug="true"在我的web.config(s)中,但我只是不想缩小我的捆绑包,但是我似乎没有做任何事情来禁用它。我试过了enableoptimisations=false,这是我的代码: //Javascript bundles.Add(new ScriptBundle("~/bundles/MainJS") .Include("~/Scripts/regular/lib/mvc/jquery.validate.unobtrusive.js*") .Include("~/Scripts/regular/lib/mvc/jquery.validate*") .Include("~/Scripts/regular/lib/bootstrap.js") .IncludeDirectory("~/Scripts/regular/modules", "*.js", true) .IncludeDirectory("~/Scripts/regular/pages", "*.js", true) .IncludeDirectory("~/Scripts/regular/misc", "*.js", true)); //CSS bundles.Add(new StyleBundle("~/bundles/MainCSS") .Include("~/Content/css/regular/lib/bootstrap.css*") .IncludeDirectory("~/Content/css/regular/modules", "*.css", true) .IncludeDirectory("~/Content/css/regular/pages", "*.css", true))

3
MVC4捆绑包中的{version}通配符
在MVC 4中,我们有捆绑包。在定义捆绑包时,我们可以对文件夹中的所有文件使用*之类的通配符。 在下面的示例中是什么-{version}意思? public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); }

11
ASP.NET MVC Framework 4.5 CSS捆绑不适用于主机
我正在用MVC4编写的应用程序港上运行一个应用程序。 一捆css文件不起作用。在调试模式下的本地计算机中,我看到了应用程序的代码,并且看到了文件。该应用程序按预期工作。 <link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/> <link href="/Content/css/home/Home.css" rel="stylesheet"/> 当我将应用程序上载到Appharbor时,我在代码中看到了捆绑包,但该应用程序不起作用。 <link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/> 当我浏览该链接时,href我得到403-禁止访问:访问被拒绝。 如何解决这个问题?

7
如何指定一个明确的ScriptBundle包含顺序?
我正在尝试MVC4 System.Web.Optimization 1.0 ScriptBundle功能。 我有以下配置: public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { // shared scripts Bundle canvasScripts = new ScriptBundle(BundlePaths.CanvasScripts) .Include("~/Scripts/modernizr-*") .Include("~/Scripts/json2.js") .Include("~/Scripts/columnizer.js") .Include("~/Scripts/jquery.ui.message.min.js") .Include("~/Scripts/Shared/achievements.js") .Include("~/Scripts/Shared/canvas.js"); bundles.Add(canvasScripts); } } 和以下视图: <script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script> 哪里BundlePaths.CanvasScripts是"~/bundles/scripts/canvas"。它呈现如下: <script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script> 到目前为止一切顺利,但~/Scripts/Shared/achievements.js捆绑源中的第一个脚本除外。它取决于之前包含的每个脚本ScriptBundle。如何确保它遵循我向包中添加包含语句的顺序? 更新资料 这是一个相对较新的ASP.NET MVC 4应用程序,但它引用了优化框架预发行包。我删除了它,并从http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加了RTM包。对于web.config中带有debug = true的RTM版本,@Scripts.Render("~/bundles/scripts/canvas")将以正确的顺序呈现各个脚本标签。 在web.config中使用debug = false时,合并的脚本首先具有Achievements.js脚本,但是由于它是稍后调用的函数定义(对象构造函数),因此运行时没有错误。缩小器也许足够聪明以找出依赖关系? …

6
如何强制BundleCollection刷新MVC4中的缓存脚本包
...或者我是如何学会不再担心的,只是针对Microsoft完全未记录的API编写代码。官方System.Web.Optimization发布有任何实际文档吗?“因为我肯定找不到任何东西,没有XML文档,并且所有博客文章都引用了RC API,这有很大的不同。嗯... 我正在编写一些代码来自动解决javascript依赖关系,并从这些依赖关系动态创建捆绑。一切正常,除非您编辑脚本或以其他方式进行更改而影响捆绑软件,而无需重新启动应用程序,则所做的更改将不会得到体现。因此,我添加了一个选项来禁用对依赖项的缓存以供在开发中使用。 但是,即使bundle集合已更改,也显然会BundleTables缓存URL 。例如,在我自己的代码中,当我想重新创建捆绑包时,我会执行以下操作: // remove an existing bundle BundleTable.Bundles.Remove(BundleTable.Bundles.GetBundleFor(bundleAlias)); // recreate it. var bundle = new ScriptBundle(bundleAlias); // dependencies is a collection of objects representing scripts, // this creates a new bundle from that list. foreach (var item in dependencies) { bundle.Include(item.Path); } // add the new bundle …

15
ASP.NET捆绑-包含文件已更改后,捆绑包未更新(返回304,未修改)
我正在尝试将ASP.NET与ASP.NET MVC 4应用程序捆绑在一起。情况是,我想制作一个CDN样式的服务,其中包含JS和CSS文件,您可以从其他站点使用以下类型的地址访问该文件:http : //www.mycdn.com/scripts/plugin/js,该文件包并缩小所有包含的.js文件。 我的一个文件捆绑配置如下所示: bundles.Add(new ScriptBundle("~/Scripts/plugin/pluginjs").Include("~/Scripts/plugin/jquery.plugin.js")); 但是,当我这样做时,即使更改了原始js文件,捆绑包也不会得到更新。刷新浏览器后,我不断收到“ 304未修改”的消息,并且缩小文件的内容未更新。由于具有旧内容的捆绑包没有用,我该如何更新捆绑包?我尝试了所有方法,但找不到解决方案。 提前致谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.