Como las otras respuestas decir, es necesario proporcionar un documento de esquema XML para su sección de configuración personalizado. No es necesario agregar el archivo de esquema .xsd
a algún directorio global; se puede hacer referencia a ella directamente desde su sección personalizada en el archivo App.config
:
<configuration>
<!-- make the custom section known to .NET's configuration manager -->
<configSections>
<section name="customSection" type="..." />
</configSections>
<!-- your custom section -->
<customSection xmlns="http://tempuri.org/customSection.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="customSection.xsd">
...
</customSection>
<configuration>
El atributo xmlns
es simplemente allí para establecer un espacio de nombres por defecto, por lo que no es necesario configurarlo en su customSection
elemento y todos sus elementos secundarios (Sin embargo, no coloque el atributo xmlns
en el elemento <configuration>
!)
El customSection.xsd
contiene el esquema que se utilizará por IntelliSense, por ejemplo:
<xs:schema id="customSectionSchema"
targetNamespace="http://tempuri.org/customSection.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/customSection.xsd"
xmlns:mstns="http://tempuri.org/customSection.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customSection">
...
</xs:element>
</xs:schema>
+1 La solución aceptada parece tener una práctica amplia, pero no debe hacer esto a menos que los cambios en el esquema sean estándar y útiles para todos los proyectos de Visual Studio que puedan crearse en su computadora. (Http://msdn.microsoft.com/ es-us/library/ms255821.aspx) – Paul