web-dev-qa-db-fra.com

Visual Studio 2010: schéma XSD XML pour les classes dans le IDE

Chaque fois que j'ai eu besoin de créer un fichier de classe à partir d'un schéma XML XSD, j'utilise l'outil .NET xsd.exe et les événements de pré-construction, en VS, pour m'assurer que mes classes et schémas sont synchronisés les uns avec les autres au moment de la construction. Bien sûr, cela fonctionne bien ...

J'ai remarqué que si le XSD et la classe dérivée sont dans le même projet, VS comprend la relation et affiche visuellement le CS en tant qu'enfant du fichier XSD dans l'Explorateur de solutions. Je me demandais donc s'il existe des fonctionnalités dans Visual Studio 2010 pour effectuer la création de classes pour moi dans le IDE plutôt que de compter sur le script de pré-construction?

Par exemple, j'ajouterais le XSD à l'ensemble de projets quelque part et VS prend le relais et crée mes classes pour moi.

VS 2010 prend-il en charge quelque chose comme ça? Ou devrais-je simplement arrêter de me demander et continuer à utiliser xsd.exe et la pré-construction.

EDIT J'ai également remarqué que sous les propriétés du fichier XSD j'ai la possibilité de définir un Custom Tool, en lisant la description, cela semble proche de ce que je vise, mais je ne suis pas sûr de l'utilisation correcte de cette propriété.

EDIT Aussi, s'il y a une solution, j'ai besoin que cela soit basé sur les caractéristiques/fonctions qui viennent en standard avec VS2010. Je préfère ne pas utiliser de module complémentaire tiers, etc.

30
MrEyes

Visual Studio 2010 en lui-même ne contient aucune fonctionnalité de ce type pour une consommation générale.

Visual Studio a une prise en charge limitée de cette conversion XSD en code dans le contexte d'ensembles de données typés dans ADO.NET - mais ce ne sont pas des solutions générales, elles visent exactement ce scénario d'utilisation.

Mais consultez le complément XSD2Code qui fait exactement cela

enter image description here

13
marc_s

Vous pouvez utiliser le XSD.exe qui se trouve dans C:\program files\Microsoft\SDKs\Windows\v7.0A\Bin\xsd.exe. suivez les étapes pour ajouter XSD comme élément de menu dans le menu des outils VS

  1. Ajoutez un fichier XSD à votre projet VS
  2. Accédez au menu Outils de Visual Studio
  3. Accéder aux outils externes
  4. Ajouter
  5. Entrez le titre en XSD
  6. commande comme chemin d'accès à xsd dans votre système (normalement C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe.)
  7. Arguments en tant que $(ItemPath) /c /l:cs
  8. répertoire initial en tant que $(ItemDir)
  9. vérifier la fenêtre Utiliser la sortie c'est la presse ok

Cliquez ensuite sur les fichiers Xsd dans votre explorateur de solutions, puis sur Outils - cliquez sur Xsd, cela générera la classe dans le même dossier que le fichier .XSD. Si vous n'avez pas encore ajouté le fichier à l'étape 1, vous devrez ajouter le fichier .cs résultant au projet en cliquant avec le bouton droit sur le projet dans l'Explorateur de solutions, sélectionnez Ajouter -> Élément existant, puis le fichier .CS généré à partir du .XSD doit être présent et peut être inclus.

57
user2208720

Il existait auparavant un moyen de le faire dans Visual Studio. Vous pouvez faire un clic droit sur un schéma xml et il y avait un choix dans le menu contextuel qui disait quelque chose comme "générer un ensemble de données". Je l'utilisais fréquemment et cela fonctionnait très bien. Pour une raison mystérieuse, Microsoft a supprimé cette fonction - peut-être après VS 2003? Je ne sais pas pourquoi il est correct d'utiliser un utilitaire de ligne de commande et qu'il n'est pas correct d'exécuter le même code à partir d'un menu, mais il est là.

3
Bob Levittan