J'ai utilisé la deuxième solution de Comment résoudre "Impossible de trouver les informations de schéma pour l'élément/attribut <xxx>"?
C'est à dire. créé un XSD avec le bouton pour créer un schéma. J'ai changé la feuille de style dans app.config en app.xsd mais maintenant je reçois l'avertissement:
L'élément global 'configuration' a déjà été déclaré dans app.xsd
Même lors du changement de nom, l'avertissement est affiché. Quelqu'un at-il une solution pour cela?
J'ai eu un problème similaire à la question à laquelle vous faites référence, j'ai suivi ces instructions et tout allait bien. Assurez-vous que le EnterpriseLibrary.Configuration.xsd
est dans %Program Files%\Microsoft Visual Studio [version] \Xml\Schemas\
tout d’abord, puis faites ceci:
Enterprise Library installe dans Visual Studio un schéma fournissant IntelliSense® pour l'édition de fichiers de configuration d'Enterprise Library dans l'éditeur XML de Visual Studio. Vous devez activer le schéma avant de pouvoir l'utiliser.
Pour activer le schéma de configuration de Enterprise Library
Ouvrez le fichier de configuration dans Visual Studio en double-cliquant dessus dans l'Explorateur de solutions.
Dans le menu XML, cliquez sur Schémas ... pour ouvrir la boîte de dialogue Schémas XML.
Localisez le schéma nommé EnterpriseLibrary.Configuration.xsd. Ceci est installé automatiquement. Toutefois, s'il ne figure pas dans la liste, cliquez sur Ajouter et naviguez jusqu'au dossier% Program Files%\Microsoft Visual Studio [version]\Xml\Schemas \, puis sélectionnez EnterpriseLibrary.Configuration.xsd et cliquez sur Ouvrir.
Modifiez la valeur dans la colonne Utiliser pour utiliser ce schéma. Puis cliquez sur OK.
Lien vers l'article est ici , espère que cela aide
Le redémarrage n'a pas fonctionné pour moi, alors j'aimerais partager ce qui a fonctionné.
Tout d'abord, je viens de mettre à niveau vers Windows 8. Ce problème ne s'était pas produit auparavant. Et ce problème ne s'est produit que dans n de mes fichiers app.config. J'ai donc décidé de comparer l'app.config problématique avec un bon. Dans Visual Studio, avec app.config ouvert, je suis allé à Xml -> Schemas
. J'ai remarqué que la bonne configuration n'avait vérifié que trois de ces schémas. Le mauvais a vérifié les trois mêmes, plus un DotNetConfig.xsd. Après avoir modifié la colonne Use
en automatique, pour DotNetConfig.xsd, le problème a disparu.
Mon problème était que je suis passé de .Net 4.5 à .Net 4.0. Pour résoudre le problème, j'ai basculé tous les schémas cochés en automatique.
J'ai eu du mal avec cela pendant un moment aussi. Il s’avère que ma version du problème provient du code caché {PROJECTNAME}.SUO
fichier créé par Visual Studio.
Mon hypothèse est que VS mettra en cache les associations de schémas XSD dans ce fichier. Les avertissements sont apparus après la modification du cadre cible et ils ont disparu après la suppression du fichier SUO et le redémarrage de VS.
Avec les symptômes décrits dans la question et en utilisant Visual Studio 2013 (Update 4), je pouvais voir dans la boîte de dialogue XML Schemas [sic] que DotNetConfig.xsd
Et DotNetConfig40.xsd
ont été sélectionnés pour utilisation.
J'utilise un projet .NET Framework 4.0.
Les deux fichiers XSD sont en conflit, chacun définissant les mêmes éléments, ce qui provoque l'émission des avertissements.
Ces fichiers de schéma sont contenus dans le dossier %programfiles(x86)%\Microsoft Visual Studio 12.0\xml\Schemas\
.
DotNetConfig.xsd
Se trouve dans le sous-dossier 1033
Et semble être la version la plus récente et la plus complète.
Quels que soient les paramètres sélectionnés dans les schémas XML, je ne pouvais ni désélectionner ni supprimer DotNetConfig40 ni DotNetConfig . J'ai essayé "Remove", et en changeant le paramètre Use de "se this schema" à "Automatic" puis "Do pas utiliser ce schéma ".
Peu importe ce qui a été sélectionné, pour l'un ou l'autre fichier, lorsque je reviendrais à la boîte de dialogue, les deux seraient sélectionnés pour être utilisés. J'ai aussi essayé l'astuce de passer à une autre ligne avant d'appuyer sur " OK ", mais en vain.
Enfin, j'ai renommé le fichier DotNetConfig40.xsd
En DotNetConfig40 DO NOT USE.xsd
Pour empêcher son chargement. Cela a immédiatement résolu le problème.
Je ne suis pas content de devoir faire cela, et je me demande si cela aura un effet secondaire indésirable avec d'autres projets. Je mettrai à jour ce post avec mes résultats.
Ce problème a été résolu une fois que j'ai fermé le fichier dans l'éditeur à l'origine de ces avertissements et que je l'ai recompilé.
Après le redémarrage du système, le problème est résolu, ce qui signifie que je ne reçois plus aucun avertissement lié au système.
Il semble donc que le redémarrage (et éventuellement une restauration/réinitialisation implicite a supprimé l'avertissement).
Pour moi, j'ai remarqué que j'avais un tas de XML Schemas
qui ont été dupliqués, j'ai simplement simplement marqué comme Don't Use
tous ceux qui n'étaient pas liés à Visual Studio 2017. Le problème a immédiatement disparu
À l'aide de Visual Studio 2015 Community Edition - la génération d'un fichier web.xsd dans le dossier racine de mon projet et son ajout à la liste des schémas ont effacé tous les avertissements sauf un,
L'élément global 'configuration' a déjà été déclaré '.
La fermeture du fichier web.config dans l'éditeur de texte et la reconstruction du projet ont effacé cet avertissement.
Necromancing: mise à jour 2019 avec Visual Studio 2017
J'ai essayé de faire ce que d'autres ont suggéré:
Tout cela n'a pas fonctionné.
Cependant, la solution de OLEG comme décrit ici a fonctionné.
Tout ce que je devais faire était de remplacer la partie suivante de tous les fichiers DotNetConfigXX.xsd utilisés (XX est vide ou un nombre) avec le code suivant
<xs:element name="startup" vs:help="configuration/startup"
...
</xs:element>
Remplacer par:
<xs:element name="startup" vs:help="configuration/startup">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="requiredRuntime" vs:help="configuration/startup/requiredRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="safemode" type="xs:boolean" use="optional" />
</xs:complexType>
</xs:element>
<xs:element name="supportedRuntime" minOccurs="1" maxOccurs="unbounded" vs:help="configuration/startup/supportedRuntime">
<xs:complexType>
<xs:attribute name="version" type="xs:string" use="optional" />
<xs:attribute name="sku" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="useLegacyV2RuntimeActivationPolicy" type="xs:boolean" use="optional" />
<!-- see http://msdn.Microsoft.com/en-us/library/bbx34a2h.aspx -->
</xs:complexType>
</xs:element>
N'oubliez pas de sauvegarder vos fichiers .XSD d'origine!
Après un redémarrage de Visual Studio, les erreurs ont disparu.