问题标签 [system.web.optimization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
14766 浏览

asp.net-mvc - 让 System.Web.Optimization 在类库中的剃刀视图中工作

我正在构建一个模块化 MVC4 应用程序,其中每个模块(=area)都是一个类库。模型和控制器编译到 .dll 中,视图被复制到相应的文件夹中。在运行时,一切正常。在设计时还有一个烦人的问题:在类库中编辑剃刀视图时,Visual Studio 无法识别 System.Web.Optimization 命名空间。

我尝试将程序集添加到根目录和内部 web.config 的 system.web/compilation 部分:

我也试过没有特定版本。两种方法都没有解决问题,而是触发了asp.net运行时错误(在razor视图的第一行可见):

该程序集在项目中被引用,并且“复制本地”设置为“真”。它还作为命名空间添加到 razor 配置部分。

我怀疑这是我将来在其他程序集中会遇到的普遍问题。

编辑:我进行了一般设置,以使 Intellisense 在类库中的剃刀视图中运行。到目前为止一切正常,除了 VS2010 不识别优化命名空间。

0 投票
2 回答
3938 浏览

.net - 如何让 System.Web.Optimization 包与 IIS 虚拟目录中的自定义文件夹一起使用?

我有一个 asp.net mvc4。我有使用 IIS 虚拟目录在此应用程序中部署为子目录的模块,我需要引用这些模块中的文件。这些模块 dll 正在注册捆绑包。但是捆绑包不会在 html 页面中生成任何内容。

从这篇文章is-it-possible-to-unit-test-bundleconfig-in-mvc4 中,我看到包在内部使用 Server.MapPath。所以它似乎应该工作。

我挂钩了 BundleTable.MapPathMethod,甚至自己调用了 Server.MapPath,它确实正确解析到正确的物理目录。但它仍然不会在 html 页面中呈现任何内容。

然后有这篇文章,为什么-does-resolvebundleurl-not-work-for-custom-folders,提到了自定义文件夹的“AddDirectory”功能,但是这个功能在最新的优化库中不再可用。

我也尝试过使用新的“IncludeDirectory”方法,但这也不起作用

还有什么我可以尝试的吗?


2012 年 8 月 27 日

问题解答:基本上 System.Web.Optimization 不适用于作为子 IIS 虚拟目录的 web url。

问题是 BundleResolver.GetBundleContents 中的这些代码行

这基本上假设每个被捆绑的文件都将位于主 Web 应用程序 PHYSICAL 文件夹下的 PHYSICAL 文件夹中。

IMO 的问题在于,正在搜索要包含的文件的 Web 相对 url 路径很早就被转换为物理路径,并且所有对用于获取这些物理文件的相对 url 路径的引用都被丢弃了。

所以,为了看看我能不能完成这项工作,我必须将 System.Web.Optimization 反编译为裸代码,然后再次重新编译,这样我才能“修复”它。第一步是向 BundleItem 添加一个 RelativePath 属性,这是一个额外的 BundleItem 构造函数,用于传递源相对 url 路径以保留 Web 相对搜索目录文件夹的内容。然后我用循环替换了上面的代码,然后基本上尝试用它们的 BundleItem 重新匹配找到的文件,以便可以将它们转换回有效的 web url

现在我的包正在正确渲染。但是请注意,我尚未测试此 hack 修复程序的发布或优化或缩小。

我真的认为 asp.net 团队应该让 System.Web.Optimizations 支持 IIS 虚拟目录中的文件。尤其是现在 VS2012 支持 IIS Express,这最终将使构建模块化 Web 应用程序变得更加容易,文件通过 IIS 虚拟目录引用

0 投票
1 回答
1749 浏览

asp.net-mvc - 'System.Web.WebPages.Scripts' 和 'System.Web.Optimization.Scripts' 之间的模糊引用

这可能是一个类似的问题,但由于另一个没有回答,我想我会在这里问。我有一个 mvc 4 应用程序在我的本地运行良好,但是当我部署到我的网络主机时出现以下错误

ambiguous reference between 'System.Web.WebPages.Scripts' and 'System.Web.Optimization.Scripts'

在每一个@Scripts.Render("")

虽然@Styles.Render("")很好。

最简单的解决方法是什么,我不需要在每个@Scripts 前面附加“System.Web.Optimization”。

谢谢!

编辑:我尝试在我的 web.config 中注释掉 System.Web.WebPages,仍然无法正常工作,这是我的 web.config

0 投票
4 回答
1721 浏览

asp.net-mvc-3 - 从缩小中跳过单个文件?

我正在尝试使用 ASP.Nets BundleTable 来优化一些 javascript 文件,但遇到了一个问题,即在缩小代码时特定插件(jQuery-Timepicker)无法工作。见这里

捆绑代码目前类似于:

如果我删除该jquery-ui-timepicker-addon.js文件,然后将其单独包含在我的网页中,则它可以正常工作。(否则我得到Uncaught TypeError: undefined is not a function错误)。

我想知道我是否可以以某种方式设置我的捆绑代码以跳过缩小这个文件(但它仍然包含在捆绑中)?我一直在环顾四周,但没有提出任何解决方案。

0 投票
1 回答
526 浏览

asp.net-mvc - ASP.NET Web 优化 - 无需捆绑的缩小

是否可以在不捆绑的情况下使用ASP.NET Web 优化进行缩小?

假设我有一个页面Example.cshtml和该页面的相应 javaScript 文件Example.js。我希望能够@Scripts.Render("~/Scripts/Views/Example.js")在不处于调试模式时执行类似的操作来生成缩小文件。我当然可以维护许多单个 JavaScript 文件包来执行此操作,但它看起来像是不必要的琐事。

当然还有其他的 JavaScript 压缩解决方案,但我认为运行时压缩的单一方法是最好的方法。

0 投票
1 回答
900 浏览

asp.net-mvc - 生产中的 JavaScript 错误,但不是开发/测试(捆绑不处理 Linux 样式的行尾)

我有一个使用以下 javascript 库在 MVC4 上运行的网站。jQuery、jQueryValidate、Bootstrap、FineUploader、MaskedInput、Knockout 和 Modernizr。我也有我的应用程序特定的javascript。它们都是使用System.Web.Optimization命名空间中的脚本捆绑功能加载的。我的包看起来像这样。

但是由于某种原因,当该站点在我的开发系统上正常工作并且在测试时,它在生产中失败并出现 javascript 错误。错误对我来说毫无意义......

现在,当我检查 javascript 文件时,所有内容当然都被缩小和压缩了,所以没有运气从中破译任何东西。有没有其他人在捆绑中遇到过这样的奇怪行为?

0 投票
2 回答
2507 浏览

asp.net-mvc - 在 system.web.optimization 中自定义缓存清除

在优化时从包中渲染样式时,您会得到以下信息:

不幸的是,Android 浏览器似乎没有加载带有查询字符串的 url。有什么方法可以在 System.Web.Optimization 中自定义这个字符串?


编辑:

我的问题得到了解答,我尝试在用户代理字符串上检测 android 并用一个查询字符串少的链接替换到样式表。显然我遇到的问题不是因为查询字符串,而是 webfont css 的缩小版本导致它无法在 Android 股票浏览器中完全加载样式表。

Android 股票浏览器无法加载带有转义反斜杠的 css 内容字符串,这是 ASP.NET 缩小器错误地缩小相同 css 内容字符串的一种解决方法。我最终将图标字体 css 样式放在它自己的“手工缩小”样式表上。

0 投票
2 回答
4567 浏览

asp.net - Asp.Net MVC 4 捆绑中的 JavaScript 错误

当我在 MVC 4 中使用以下捆绑时,我的应用程序出现了几个 JavaScript 错误,例如“jQuery undefined”

但是当我使用下面的方法时,我的应用程序没有 JavaScript 错误:

我的问题:有什么问题?

0 投票
4 回答
6923 浏览

asp.net - 使用 System.Web.Optimization 时如何将 type="text/javascript" 添加到脚本标签

我有以下

产生

渲染时

这不是有效的 HTML,因为它缺少 type="text/javascript"。如何让 BundleCollection 在脚本标签中输出这个元素?

0 投票
1 回答
801 浏览

asp.net - C# Web.Optimization Bundles 和 HTML5 缓存清单

我正在使用 ASP.NET 优化包来缩小和捆绑脚本和 CSS 文件。我还在为使用 HTML5 缓存清单的 ASP.NET 应用程序开发移动 UI。

当文件发生变化和应用缓存被回收时,优化包会更新动态捆绑 URL 的版本。

我希望能够在发生这种情况时更新我的​​清单版本,并在清单中包含优化包提供的动态 URL。

如何读取当前版本(“v”参数)或其他任何内容来触发清单更新?

示例代码: