2010-02-04 12 views
16

que aprender a trabajar con la incorporada en el proveedor de perfil de .Net, y tienen el siguiente problema :Anulación machine.config por web.config

leí que los ajustes-machine.config se pueden anular la configuración web.config de .Net-Application. Los siguientes ajustes en el machine.config-archivo son relevantes para mí :

<connectionStrings> 
<add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb; 
Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

<profile><providers><add name="AspNetSqlProfileProvider"connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></providers></profile> 

Estos ajustes de trabajo para configurar los perfiles locales. Sin embargo, cuando copio las configuraciones en el archivo web.config de mi aplicación y cambio las configuraciones de máquina 0configuración , para que no funcionen más, recibo un error de configuración . Por ejemplo, cambio el nombre del proveedor en machine.config a "Local". Esto no debería ser un problema, porque la configuración está anulada. Sin embargo, cuando se ejecuta la aplicación me sale el error:.

"La entrada 'AspNetSQLProvider ya ha sido añadida' (mi traducción)

Respuesta

34

Añadir un elemento <clear /> como el primer hijo de <connectionStrings> que va a causar la sistema de configuración para ignorar todas las cadenas de conexión añadidas en machine.config y el uso de las nuevas previstas. también puede utilizar <remove> elemento para eliminar un elemento de configuración solo si no desea limpiar todo el asunto.

<connectionStrings> 
    <clear /> 
    <add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

el misma idea ap también se aplica a las secciones <providers>.

+1

Muchas gracias, eso lo hace. – AGuyCalledGerald

+0

Esto también funciona en DbProviderFactories –

+0

Esto me enoja pero parece que resolvió el problema. En serio MS en serio ... – Shawn