Asp.net mvc 4 索引超出@Scripts.Render中数组的边界

Asp.net mvc 4 索引超出@Scripts.Render中数组的边界,asp.net-mvc-4,asp.net-optimization,Asp.net Mvc 4,Asp.net Optimization,每个控制器都有一个文件夹(与controller同名),每个动作都有一个脚本文件 对于每个文件,将按照以下模式创建一个包:“~/Scripts/Controllers/{controller name}/{filename without extension}” IncludePerFile是我为执行此任务而创建的扩展方法 然后,应该存在一个包:~/Scripts/Controllers/processos/pasta 要确认这一点: 到目前为止都是正确的!捆绑存在 跑步应用 运行应用程序时

每个控制器都有一个文件夹(与controller同名),每个动作都有一个脚本文件

对于每个文件,将按照以下模式创建一个包:“~/Scripts/Controllers/{controller name}/{filename without extension}”

IncludePerFile
是我为执行此任务而创建的扩展方法

然后,应该存在一个包:
~/Scripts/Controllers/processos/pasta

要确认这一点:

到目前为止都是正确的!捆绑存在

跑步应用 运行应用程序时,出现以下错误:

错误和低效地修复错误: 如果我改变这一点:

@Scripts.Render("~/Scripts/Controllers/processos/pasta")
为此:

@Scripts.Render("~/Scripts/Controllers/processos/pasta.js")
没有生成错误。但是文件没有缩小,因为实际上有一个包。(我已经进入发布模式并发布了应用程序!)

完全错误
我将验证您的

IncludePerFile(new DirectoryInfo(server.MapPath("~/Scripts/Controllers")), "~/Scripts/Controllers/{0}/{1}", 
(dir,file) => string.Format("~/Scripts/Controllers/{0}/{1}", dir, Path.GetFileNameWithoutExtension(file)), "*.js") 
将创建的捆绑包完全按照您认为的方式放入

当包中包含错误类型的文件时,我在运行时遇到了这个错误。i、 e

@Styles.Render("~/bundles/myStyleBundle");

实际上包含一个JavaScript文件。

我在这个问题上遇到了相同的错误:


答案很简单:你必须更新你的
MicrosoftWebOptimization
&
WebFeel
软件包(目前是1.1.2和1.6.0版本)

我也遇到了同样的问题,当我尝试不同的检查时,我发现在我的css文件中有一个选择器,类似这样会导致问题:

.glyph图标图标:-o-prefocus, .图标图标{ 背景图像:url(../images/glyphicons.png); }


Microsoft.Ajax.Utilities.CssParser似乎在css选择器方面有问题。我拆下了线路,它正在工作。

我刚刚遇到了类似的问题。我正在使用VS2013和MVC5,并且正在更新到BootstrapV3.0.1,以便使用Bootswatch中的主题。我使用最新的Bootstrap下载更新了所有内容,网站似乎运行良好。然后,我从Bootswatch站点获取了cssforslate,并在新的样式表中使用它,在样式包中更改它并构建解决方案。当我运行它时,我得到了“索引超出了数组的界限”错误。切换回bootstrap.css,效果很好


然后我使用NuGet软件包管理器更新我的所有软件包。。。我刚刚安装了VS 2013,还没有更新所有内容。重建了解决方案和wallah,效果很好。因此,我会投票支持answser更新您的软件包。

您可能需要更新一些nuget库。尝试更新webfleed

找到答案了吗?我发现了这个错误。恶意捆绑包包括标准的MVC5引导js资产。答案太简单:)你必须更新你的软件包(Microsoft Web Optimization&WebLibe)。非常感谢,我使用的是从他们网站下载的自定义引导,它有这个选择器。css选择器会导致死亡的黄色屏幕,这似乎很奇怪,但我猜这是css的解析。
IncludePerFile(new DirectoryInfo(server.MapPath("~/Scripts/Controllers")), "~/Scripts/Controllers/{0}/{1}", 
(dir,file) => string.Format("~/Scripts/Controllers/{0}/{1}", dir, Path.GetFileNameWithoutExtension(file)), "*.js") 
@Styles.Render("~/bundles/myStyleBundle");