Comme disent les autres réponses, vous devez fournir un document de schéma XML pour votre section de configuration personnalisée. Il n'est pas nécessaire d'ajouter le fichier de schéma .xsd
à un répertoire global; vous pouvez faire référence directement à partir de votre section personnalisée dans le fichier 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>
L'attribut xmlns
est simplement là pour définir un espace de noms par défaut, de sorte que vous n'avez pas besoin de le mettre sur votre élément customSection
et tous ses éléments enfants. (Cependant, ne placez pas l'xmlns
attribut sur l'élément <configuration>
!)
Le customSection.xsd
contient le schéma qui sera utilisé par IntelliSense, par exemple:
<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 solution acceptée semble largement répandue, mais vous ne devez pas le faire à moins que les modifications de schéma ne soient standard et utiles à tous les projets Visual Studio pouvant être créés sur votre ordinateur (http://msdn.microsoft.com/ en-us/library/ms255821.aspx) – Paul