2010-06-07 7 views
37

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

Y a-t-il une route bien connue pour cela? J'ai réussi à utiliser un événement de pré-construction, mais je déteste avoir l'outil en cours d'exécution sur chaque build. Normalement, il ne devrait fonctionner que lorsque XSD change. Ajouter le fichier .cs généré au projet le place sous .xsd du même nom, donc l'EDI sait qu'ils sont liés.

Je sais que je peux définir "Outil personnalisé" sur mon fichier .xsd mais je ne suis pas sûr si cela permet d'obtenir l'effet désiré. J'espérais un moyen plus direct. En fin de compte, 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!

Répondre

39

Vous pouvez consulter Xsd2Code pour un add-in VS qui le fait interactivement. L'auteur travaille également sur une version VS2010, autant que je sache.

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

+2

Merci! J'espérais quelque chose qui utiliserait XSD.EXE de Windows SDK mais c'est OK aussi. Et btw, le complément fonctionne avec VS 2010. – wpfwannabe

+1

Cette solution nécessite l'installation de l'outil dans toutes les instances de studio visuel. Connaissez-vous quelque chose qui ne nécessite pas l'installation d'un plugin? – yamspog

+0

@yamspog: non, toutes les autres solutions que je connais ne sont que des plugins/extensions différents pour VS, en gros. –

9

Vous pouvez également l'ajouter comme un outil externe (cliquez sur Outils - outils externes ...) au studio visuel (2015). Ensuite, sélectionnez simplement 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 Tools\xsd.exe (remplacer par votre version d'outils FX)
  • Arguments: /c "$(ItemDir)$(ItemFileName)$(ItemExt)"
  • répertoire initial: $(ItemDir)
  • Utiliser fenêtre de sortie : yes
Questions connexes