VS2013做的网站,本地调试正常,发布到IIS后出错了......

无言无忌 2014-05-08 10:49:58
VS2013 .NET 4.5 Framework做好的网站,本地调试正常,发布到IIS后打开,出现下面的错误,求解。



“/”应用程序中的服务器错误。

程序集“AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e”不包含具有名称“MsAjaxBundle”的 Web 资源。请确保该资源名称拼写正确。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 程序集“AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e”不包含具有名称“MsAjaxBundle”的 Web 资源。请确保该资源名称拼写正确。

源错误:


执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:



[InvalidOperationException: 程序集“AjaxControlToolkit, Version=4.5.7.1213, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e”不包含具有名称“MsAjaxBundle”的 Web 资源。请确保该资源名称拼写正确。]
System.Web.UI.WebResourceUtil.VerifyAssemblyContainsReleaseWebResource(Assembly assembly, String releaseResourceName, Assembly currentAjaxAssembly) +291
System.Web.UI.ScriptReference.ShouldUseDebugScript(String releaseName, Assembly assembly, Boolean isDebuggingEnabled, Assembly currentAjaxAssembly) +88
System.Web.UI.ScriptReference.DetermineResourceNameAndAssembly(ScriptManager scriptManager, Boolean isDebuggingEnabled, String& resourceName, Assembly& assembly) +97
System.Web.UI.ScriptReference.GetUrlFromName(ScriptManager scriptManager, IControl scriptManagerControl, Boolean zip, Boolean useCdnPath) +105
System.Web.UI.ScriptReference.GetUrlInternal(ScriptManager scriptManager, Boolean zip, Boolean useCdnPath) +603
System.Web.UI.ScriptReference.GetUrl(ScriptManager scriptManager, Boolean zip) +182
System.Web.UI.ScriptManager.RegisterUniqueScripts(List`1 uniqueScripts) +204
System.Web.UI.ScriptManager.RegisterScripts() +465
System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +124
System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +121
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1155




版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.18446
...全文
746 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdkll 2014-05-09
  • 打赏
  • 举报
回复
看看应用程序池是否选中为.net 4.0,如果是64位机器,设置兼容32位试试。
无言无忌 2014-05-09
  • 打赏
  • 举报
回复
搞好了。 原因是ajax control toolkit与ASP.NET 4.5不怎么兼容,太搞笑了 。 在母版(.master)中原本是这样导入js的:

<asp:ScriptManager runat="server">
    <Scripts>
        <%--Framework Scripts--%>
        <asp:ScriptReference Name="MsAjaxBundle" />
        <asp:ScriptReference Name="jquery" />
        <asp:ScriptReference Name="jquery.ui.combined" />
        <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
        <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
        <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
        <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
        <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
        <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
        <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
        <asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
        <asp:ScriptReference Name="WebFormsBundle" />
        <%--Site Scripts--%>
 
    </Scripts>
</asp:ScriptManager>
如果不使用ajax contral toolkit是没有问题的,但是要用它就出事了,得作出以下的修改: 1)把 asp:ScriptManager 替换为 ajaxToolkit:ToolkitScriptManager 2) 删除 MsAjaxBundle 3) 删除 Assembly=”System.Web” 修改后变成:

<ajaxToolkit:ToolkitScriptManager runat="server">
    <Scripts>
        <%--Framework Scripts--%>
        <asp:ScriptReference Name="jquery" />
        <asp:ScriptReference Name="jquery.ui.combined" />
        <asp:ScriptReference Name="WebForms.js"  Path="~/Scripts/WebForms/WebForms.js" />
        <asp:ScriptReference Name="WebUIValidation.js"  Path="~/Scripts/WebForms/WebUIValidation.js" />
        <asp:ScriptReference Name="MenuStandards.js"  Path="~/Scripts/WebForms/MenuStandards.js" />
        <asp:ScriptReference Name="GridView.js"  Path="~/Scripts/WebForms/GridView.js" />
        <asp:ScriptReference Name="DetailsView.js"  Path="~/Scripts/WebForms/DetailsView.js" />
        <asp:ScriptReference Name="TreeView.js"  Path="~/Scripts/WebForms/TreeView.js" />
        <asp:ScriptReference Name="WebParts.js"  Path="~/Scripts/WebForms/WebParts.js" />
        <asp:ScriptReference Name="Focus.js"  Path="~/Scripts/WebForms/Focus.js" />
        <asp:ScriptReference Name="WebFormsBundle" />
        <%--Site Scripts--%>
 
    </Scripts>
</ajaxToolkit:ToolkitScriptManager>
happytonice 2014-05-08
  • 打赏
  • 举报
回复
缺AjaxControlToolkit
无言无忌 2014-05-08
  • 打赏
  • 举报
回复
引用 5 楼 findcaiyzh 的回复:
服务器上没有AjaxControlToolkit? 去下面这里下载一个试一试。 http://ajaxcontroltoolkit.codeplex.com/releases/view/116091
我在同一台机器上做的,不会存在这个问题。
宝_爸 2014-05-08
  • 打赏
  • 举报
回复
服务器上没有AjaxControlToolkit? 去下面这里下载一个试一试。 http://ajaxcontroltoolkit.codeplex.com/releases/view/116091
无言无忌 2014-05-08
  • 打赏
  • 举报
回复
引用 2 楼 cww2010 的回复:
是否使用了相关的toolkit,这个必须在服务器上也安装一下。
开发跟发布是在同一台机器上进行的,开发时用IISExpress,发布测试时用的是IIS7.5。
引用 1 楼 levyshang 的回复:
你网站的.NET是4.5,IIS怎么是4.0?
引用 3 楼 insus 的回复:
从这句可以看出,服务器的.net4.0低于你的程序.net 4.5。
两位,.Net4.5也是在.Net 4下面的,就象.Net 3.5你在服务器上只能选.Net2.0的一样。
insus 2014-05-08
  • 打赏
  • 举报
回复
从这句可以看出,服务器的.net4.0低于你的程序.net 4.5。
cww2010 2014-05-08
  • 打赏
  • 举报
回复
是否使用了相关的toolkit,这个必须在服务器上也安装一下。
levyshang 2014-05-08
  • 打赏
  • 举报
回复
你网站的.NET是4.5,IIS怎么是4.0?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧