Ho 3 server, ognuno dei quali esegue Windows Web Server, .NET 4 e IIS7. La sezione iniziale del mio file web.config è:IIS 7 genera l'errore "sezione definita duplicata" per web.config su un server, ma non un altro
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<configSections>
<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
Questo funziona bene su 2 dei server, ma uno di loro segnala l'errore:
There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined
contro la linea:
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
Se rimuovo quella linea singola, si lamenta di un duplicato della riga successiva, e così via fino a rimuovere quasi tutte le sezioni di configurazione.
Qualche idea di cosa potrebbe causare questo?
Edit:
Questa era un'applicazione .NET 3.5 che è stato aggiornato per VS 2010 e .NET 4. Tutti e 3 i server hanno NET 2/3.5 e 4 installato. I pool di app di IIS sono stati tutti aggiornati a .NET 4.
In tutti e 3 i server, il file machine.config
contiene già alcune di queste sezioni web.config (come menziona la risposta di Damien), ma solo 1 delle 3 si lamenta di essere duplicato.
Interessante. Si trattava infatti di un'app .NET 3.5 che è stata aggiornata a .NET 4 e tutti e 3 i server eseguivano .NET 2/3.5. Quindi è stato installato .NET 4 e i pool di app sono stati aggiornati per l'utilizzo di .NET 4. Non so perché tali sezioni non si trovino nel machine.config degli altri 2 server dopo l'installazione di .NET 4 ... hmmm. .. – CodingWithSpike