Why Does SharePoint Throw an Error Stating There Are Duplicate Entries in the web.config after Upgrading to AgilePoint v5.0 or Higher?

Summary

Duplicate Ajax configuration entries appear in the SharePoint web.config file after an upgrade to AgilePoint v5.0 or higher.

Applies To

Details

Duplicate Ajax configuration entries appear in the SharePoint web.config file after an upgrade to AgilePoint v5.0 or higher. This occurs if after the upgrade, the SharePoint administrator deactivates the AgilePoint Configuration List on a site collection in SharePoint, and then activates it again.

To support Ajax-based functionality, AgilePoint creates Ajax entries for you in the web.config automatically in case they were missing. Microsoft did not provide these entries by default in MOSS but have introduced them out of the box in SharePoint 2010. AgilePoint configuration entries with capital letter PublicKeyToken values were replaced with small letter only PublicKeyToken values to accommodate the new standards in SharePoint 2010. Deactivating and reactivating the AgilePoint configuration entries causes duplicate entries to be created with both capital letter and small letter only PublicKeyToken values.

To fix this issue, remove the duplicate AgilePoint configuration entries with capital letters in the PublicKeyToken from the SharePoint web.config file, leaving only the entries that use small letters in the PublicKeyToken. The list shows the duplicate entries that are created. Delete the entries in red from your web.config.

<add verb="*" path="*_AppService.axd" 
  validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, 
  System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
  PublicKeyToken=31bf3856ad364e35" />

<add verb="*" path="*_AppService.axd" validate="false" 
 type="System.Web.Script.Services.ScriptHandlerFactory, 
 System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" 
 type="System.Web.Handlers.ScriptResourceHandler, 
 System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31bf3856ad364e35" validate="false" />

<add verb="GET,HEAD" path="ScriptResource.axd" 
 type="System.Web.Handlers.ScriptResourceHandler, 
 System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31BF3856AD364E35" validate="false" />
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, 
 System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31bf3856ad364e35"/>

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, 
 System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI" 
 assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31bf3856ad364e35"/>

<add tagPrefix="asp" namespace="System.Web.UI" 
 assembly="System.Web.Extensions, Version=3.5.0.0, 
 Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" 
 assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31bf3856ad364e35"/>

<add tagPrefix="asp" namespace="System.Web.UI.WebControls" 
 assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
 PublicKeyToken=31BF3856AD364E35"/>