web-dev-qa-db-fra.com

Générer automatiquement XSD en C # dans Visual Studio IDE

J'exécute Visual Studio 2010. J'ai un schéma XSD et je souhaite utiliser l'outil xsd.exe pour générer le fichier C # approprié. J'ai fait cela avec succès à partir d'une ligne de commande, mais maintenant je veux faire la même chose depuis IDE.

Y a-t-il une route bien connue pour cela? J'ai réussi à utiliser un événement de pré-génération, mais je déteste avoir l'outil en cours d'exécution sur chaque génération. Normalement, il ne devrait s'exécuter que lorsque XSD change.

L'ajout du fichier .cs généré au projet le place sous .xsd du même nom, donc le IDE sait qu'ils sont liés.

Je sais que je peux définir "Outil personnalisé" sur mon .xsd mais je ne suis pas sûr que cela produise l'effet souhaité. J'espérais un moyen plus simple.

Et finalement, VS2010 ne peut pas exécuter XSD.EXE car il réside dans le dossier SDK et le chemin connu de VS ne l'inclut évidemment pas.

Toutes les suggestions sont les bienvenues!

40
wpfwannabe

Vous pouvez consulter Xsd2Code pour un complément VS qui le fait de manière interactive. L'auteur travaille également sur une version VS2010, pour autant que je sache.

texte alternatif http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=Xsd2Code&DownloadId=41336

40
marc_s

Vous pouvez également l'ajouter en tant qu'outil externe (outils de clic - outils externes ...) à Visual Studio (2015). Sélectionnez ensuite le schéma xsd dans Visual Studio et cliquez sur tools - xsd pour générer le fichier de classe.

adding xsd as an external tool

Paramètres:

  • Commande: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.1 Tools\xsd.exe (remplacez par votre version des outils FX)
  • Arguments: /c "$(ItemDir)$(ItemFileName)$(ItemExt)"
  • Répertoire initial: $(ItemDir)
  • Utiliser la fenêtre de sortie: yes
21
Sean