我在 VS.NET 2012 中有一个 ASP.NET Web 表单项目,它已经运行了好几个星期。每次我开始调试项目时,突然间我都会得到以下信息:
http://localhost:1449/bundles/MsAjaxJs?v=_Onj24X0Yu7cK2nh78YBmVwMlQTGcakS5HZSOI_a6SM1 中第 1 行第 12302 列的未处理异常
0x800a139e - JavaScript 运行时错误:Sys.InvalidOperationException:脚本“Timer.js”已被多次引用。如果显式引用 Microsoft AJAX 脚本,请将 ScriptManager 的 MicrosoftAjaxMode 属性设置为显式。
(注意:在错误消息中将空格添加到单词“localhost”,因为这些 URL 的格式不适合发布;无论如何链接都无关紧要)
这很奇怪,因为它刚刚开始突然发生。我对此进行了一些搜索,并想出了任何可以使它起作用的方法。
在自动生成的BundleConfig.cs
文件中,该文件仅列出 1x:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include(
"~/Scripts/WebForms/WebForms.js",
"~/Scripts/WebForms/WebUIValidation.js",
"~/Scripts/WebForms/MenuStandards.js",
"~/Scripts/WebForms/Focus.js",
"~/Scripts/WebForms/GridView.js",
"~/Scripts/WebForms/DetailsView.js",
"~/Scripts/WebForms/TreeView.js",
"~/Scripts/WebForms/WebParts.js"));
bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
"~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));
// Use the Development version of Modernizr to develop with and learn from. Then, when you’re
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
}
在 web.config 中,计时器没有重复或列表。我对该项目进行了搜索,这是唯一列出的地方。
我还确保所有NuGet
软件包都是最新的。任何人都了解或知道导致此错误的原因,我该如何解决?