2009-10-13 8 views
18

Recientemente escribí un grupo de configuración personalizado bastante grande. Estoy ansioso por ver si es posible mover esta configuración en un archivo separado a través de lo siguiente:Mover un grupo de configuración personalizado a un archivo separado

<configuration> 
    <configSections> 
     <sectionGroup name="MyCustomGroup"> 
      <section name="MyCustomSection"/> 
     </sectionGroup> 
    </configSections> 
    <MyCustomGroup file="alt.config" /> 
</configuration> 

Esto es algo similar a lo que puede hacer con el atributo de archivo para appsettings. Me doy cuenta de que es muy probable que haya una necesidad de crear un ConfigurationPropertyAttribute para mi gestor de sección personalizado, sin embargo, no he tenido éxito en encontrar ningún ejemplo o dirección al respecto.

Respuesta

27

Por lo que yo sé, puede no externalizar toda una sectionGroup (es decir MyCustomGroup) mediante el atributo configSource, pero hay que manejar esto en el nivel de sección (es decir MyCustomSection)

<configuration> 
    <configSections> 
     <sectionGroup name="MyCustomGroup"> 
       <section name="MyCustomSection"/> 
     </sectionGroup> 
    </configSections> 
    <MyCustomGroup>  
     <MyCustomSection configSource="externalfile.config" /> 
    </MyCustomGroup> 
</configuration> 

La externa externalfile.config archivo contendría entonces los ajustes actuales de configuración, empezando directamente con su propia sección personalizada etiqueta (sin líder <?xml....?> o <configuration> o cualquier cosa necesaria):

<MyCustomSection> 
    ... your settings here...... 
</MyCustomSection> 

Marc

+1

Funciona como un encanto. –

+1

Tiene razón. Los grupos de sección no se pueden externalizar como un todo, pero sus secciones sí pueden. –

+0

@marc_s - genial, no me di cuenta de que esta era una pregunta tan vieja. ¡Estaba buscando en Google y encontré esto como el resultado principal! – Liath

Cuestiones relacionadas