【问题标题】:AjaxToolKit Extensions not showing up once published to WebServerAjaxToolKit 扩展一旦发布到 WebServer 就不会显示
【发布时间】:2013-06-22 19:39:35
【问题描述】:

我今天遇到了一个我似乎无法弄清楚的问题。我目前正在使用 AjaxToolKit MaskEditExtension 和 CalendarExtension。在我的开发机器上一切正常,但是一旦我将站点发布到 Web 服务器(Server 2008 IIS7),两个扩展都不会显示。我已经在网上搜索了几个小时尝试不同的东西,但没有任何效果。我发现“您需要添加的所有内容”是..

添加 name="ScriptHandlerFactory" verb="" path=".asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions,版本=3.5.0.0,文化=中性,PublicKeyToken=31BF3856AD364E35"/>

但这并没有解决我的问题。我目前正在使用 Visual Studio 2012。感谢任何帮助!再次感谢!

【问题讨论】:

    标签: c#-4.0 asp.net-ajax


    【解决方案1】:

    终于想通了。必须把它放在我的代码后面,看看我使用的是哪个版本的框架。

    Response.Write("版本:" + System.Environment.Version.ToString());

    这表明我使用的是 4.0.30319.18047。

    然后我进去插入了这个..

    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.30319.18047, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    

    使用我发现我正在使用的框架版本。已发布,现在可以使用了!

    【讨论】:

    • 抱歉,由于某种原因,它没有在答案中显示。
    【解决方案2】:

    确保程序集与您的项目一起发布。在项目的 References 文件夹中,右键单击 AjaxControlToolkit,选择 Properties 并确保 Copy Local 设置为 True。这将确保在您构建/发布时程序集包含在项目的 /bin 文件夹中。

    【讨论】:

    • 感谢您的回复。我已经将“复制本地”设置为 true。我尝试了多种方法,包括从 Web 服务器上的 bin 文件夹中删除 AjaxToolkit 并从我的本地 bin 文件夹中复制一个。那也没有用。我在研究这个问题时发现了一些东西,但也没有一个有效。我不太确定该怎么做。
    • 我还有什么可以尝试的吗?我仍然有问题。谢谢。
    • 确保您发布到的应用程序池和您的项目都针对相同版本的 .NET。我刚刚注意到您在问题中发布的配置代码已将“版本”设置为 3.5.0.0,但您的问题被标记为 c#-4.0。您也可以尝试将配置代码中的版本设置为 4.0.0.0。基本上只要确保所有内容都针对相同的版本,包括您引用的 .dll 文件。
    • 好的,我会试着把那段代码放回去。我在网上看到我应该使用它,但我会尝试使用 4.0.0.0。我想我已经做过一次,但那是几天前,所以我不再积极了。再次感谢!
    • 我已经尝试过 4.0.0.0.由于我在 vs 2012 中开发,我什至尝试了 4.5.0.0,因为在 vs 2012 中创建的项目使用 4.5 框架。这也不起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-02-26
    • 2016-07-31
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多