31 votes

Comment obtenir intellisense dans app.config pour une section personnalisée?

Nous avons une section personnalisée dans mon application.fichier de configuration liées à notre conteneur IoC classe. Comment puis-je obtenir intellisense lors de l'édition du fichier de configuration de cette section, ainsi que de se débarrasser de l'compilateur messages m'informant du manque de schéma.

J'ai trouvé cette question ici: app.config configSections paramètres personnalisés ne peuvent pas trouver les informations de schéma, mais je ne comprends pas si elle s'applique à mon problème ou pas, et comment utiliser la réponse si elle n'.

J'ai aussi trouvé cette page Comment obtenir de l'Intellisense pour le Web.de configuration et d'Application.config dans Visual Studio .NET, mais il est dit à supprimer l'attribut xmlns avant l'exécution de l'application. Est-ce vraiment le seul ou le meilleur moyen?

Voici un exemple simple de fichier:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="ServiceContainers"
        type="LVK.IoC.RegistrationsSectionHandler, LVK"/>
  </configSections>
  <ServiceContainers>
    <Registration type="DatabaseConnection" class="DatabaseConnection">
      <Parameter name="connectionString" type="System.String"
          value="TYPE=MSSQL2000;SERVER=localhost;DATABASE=db"/>
    </Registration>
  </ServiceContainers>
</configuration>

Fondamentalement, je voudrais être en mesure de taper <R à l'intérieur de l' <ServiceContainers> nœud, et d'obtenir l'Enregistrement m'a suggéré dans l'intellisense déroulant, ainsi que les attributs appropriés pour elle.

21voto

Steven A. Lowe Points 40596

XML Intellisense ne sera pas automatiquement de travail pour une section de configuration personnalisée.

Visual Studio peut les avertissements à la compilation se plaindre que les attributs de la section configuration personnalisée ne sont pas définis. Ces avertissements peuvent être ignorés.

Si vous voulez XML prise en charge IntelliSense pour une section de configuration personnalisée (ou si vous voulez juste le schéma non trouvé " mises en garde à disparaître), ajoutez la ligne suivante à votre DotNetConfig.fichier xsd immédiatement après le premier <xs:schema ...> ligne (ce qui est généralement à la deuxième ligne dans le DotNetConfig.fichier xsd).

<xs:include schemaLocation="YOUR_DIRECTORY\namespace.assemblyname.xsd"/>

Le DotNetConfig.xsd fichier peut être trouvé dans votre Visual Studio 8 (ou 9) répertoire d'installation dans le fichier Xml\Schémas de sous-répertoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X