名为response的scriptreference不再有效

使用:Visual Studio Express 2013 for Web编写.NET 4.5.1站点。

项目最初建立在默认的“创建新网站”模板上,因此有问题的部分由IDE添加到我的项目中,并且尚未编辑。

这是一个为期数周的项目,今天我开始收到与创建时添加的“jar装”项目有关的错误。 到目前为止,它一直没有错误地工作。

错误消息是:

Server Error in '/' Application. 'respond' is not a valid script name. The name must end in '.js'. 

我调试了这个与site.master文件中的这一行直接相关:

  

在此处查看评论此参考资料包含在我的主文件部分中:

这是IDE在创建时添加的更大的脚本引用组的一部分。

在故障排除中我尝试添加.js; 将路径属性添加到实际文件中; 并完全评论了这条线。

添加扩展名和/或路径会导致不同的错误:

 Server Error in '/' Application. The assembly 'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not contain a Web resource that has the name 'respond.js'. Make sure that the resource name is spelled correctly. 

唯一成功的故障排除是评论它但这打破了另一个关键function:访问我的链接现在需要.ASPX扩展现在我以前可以访问我的链接而不指定我的文件上的扩展名…这是项目的默认方式是通过ide创建的,所以有了这个修复,我的链接都没有编辑,没有编辑每个链接和扩展。 不理想

我已经尝试使用程序包管理器进行更新,并且没有任何成功。 我还validation了我的脚本文件夹中存在的respond.js文件,以及bootstrap等其他文件。

我在这里搜索并搜索了相当长的一段时间,但有很多不相关的结果,包含脚本管理员的摘录,结果是无穷无尽的。

我不确定需要进行更正,或者是否需要其他文件。 重建我的网站没有任何效果,我已经删除了每个post中的“临时”文件我说它可能适用于不同但相似的问题。

此错误的纠正措施是什么?

在Site.Master文件中找到该行:

  

并修改为:

  

我自己遇到了同样的问题并通过执行以下操作来修复它。

将以下代码添加到BundleConfig类的RegisterBundles方法:

 ScriptManager.ScriptResourceMapping.AddDefinition( "respond", new ScriptResourceDefinition { Path = "~/Scripts/respond.min.js", DebugPath = "~/Scripts/respond.js", }); 

我有同样的问题,上面没有一个工作…validation你的global.asax.cs,我的情况下缺少Routeconfig和BundleConfig线,添加后,它再次工作。

  void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } 

解:

  • 在生产服务器上编译项目,而不是在开发计算机上进行预编译。

  • 如果使用VS一键发布工具,请在“设置”下,确保未选中“在发布期间预编译”。

看来你的bundleConfig没有启动。

尝试首先重建和清理项目。 之后,尝试查看文件Global.asax.cs并查看是否有错误。

或者尝试获取默认的Global.asax.cs文件并将其复制到其中。

当我将从Visual Studio(在我的案例中为2015)生成的模板asp.net Web表单应用程序部署到Azure应用程序服务时,我遇到了这个问题。

对我来说,上面给出的解决方案都没有奏效。 我完全按照这个问题中的描述得到了错误。

然后我偶然发现了下面的文章,其中显示了添加jquery包的示例。 向Web窗体添加捆绑和缩小

在该示例之后,我在RegisterBundles方法中删除了AddDefinition的模板代码以“响应”。 然后我添加了以下内容并重新构建并上传了应用程序DLL。

  bundles.Add(new ScriptBundle("~/bundles/respond").Include( "~/Scripts/respond.min.js")); 

然后我将以下内容添加到site.master中的Asp:PlaceHolder中。

  <%: Scripts.Render("~/bundles/respond") %> 

最后,我在site.master的ScriptManager中删除了包含响应。

我尝试了上述方法但没有取得多大成功。 然后我尝试了另一篇文章

  

在web.config之间和之间

奇迹般有效。 格雷厄姆https://forums.asp.net/t/1857743.aspx?Bundling+not+working+when+deployed+to+web+host+works+fine+locally