2008-11-03 11 views
2

Vous faites contrat premier développement de services Web dans un monde de SOA.générer des classes de XSD

Après avoir modifié un fichier XSD, quelle est la meilleure façon de automatiquement (re) générer des classes .NET à partir des fichiers XSD?

Répondre

3

xsd.exe va générer de nouvelles classes pour vous.

Selon la façon dont Visual Studio est mis en place, en ajoutant xsd.exe « Propriétés/build événements/post-construction des événements » forcera une régénération à chaque fois que vous ne reconstruisez une.

+0

L'URL xsd.exe est: http://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx Il y a un bug dans stackoverflow où une URL qui contient () ne traitera pas correctement en utilisant la construction [](). – nzpcmad

+0

xsd.exe est assez faible, il ne peut pas gérer très bien le schéma complexe. Le meilleur que j'ai utilisé jusqu'à présent est http://www.codeproject.com/Articles/8433/An-XSD-to-NET-language-code-class-generator-that-a – hardywang

2

Si vous utilisez .net 1.1 ou 2.0, xsd.exe. Si vous utilisez 3.0 ou 3.5, svcutil.exe. Si cela ne vous dérange pas d'utiliser du code non supporté, LINQ-to-XSD (http://blogs.msdn.com/xmlteam/archive/2008/02/21/linq-to-xsd-alpha-0-2.aspx) est cool. Avec n'importe quel outil, sachez que certains schémas ne se traduisent pas correctement pour les classes .NET automatiquement. Si vous trouvez que c'est le cas, codez les classes à la main et implémentez IXmlSerializable.

1

Nous utilisons l'outil WSCF - Web Services Contract First de Thinktecture pour le développement de services Web en créant d'abord le schéma XSD, puis en générant des interfaces de service à l'aide de cet outil. Nous utilisons cet outil depuis 2 ans et je le recommande fortement.

Les mêmes gars ont également commencé WSCF.blue projet qui est le successeur de leur outil d'origine et permet le premier contrat de développement (lire XSD d'abord). WSCF.blue est destiné à prendre en charge Windows Communication Foundation (WCF).

+0

Que faire ensuite si j'ai généré classes ou jeux de données? Comment puis-je l'utiliser dans mon projet? – pbies

Questions connexes