J'essaie d'utiliser svcutil pour générer du code C++ géré à partir de XSD. La ligne de commande J'utilise estComment spécifier CppCodeProvider sur la ligne de commande de svcutil.exe?
"C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin \ xsd.exe" MyTest.xsd/classes /language:"Microsoft.VisualC.CppCodeProvider7 , cppCodeProvider, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a »/ espace de nom: MyTestApp
Cependant, je reçois un message d'erreur comme suit
erreur: Valeur « microsoft.visualc.cppcodeprovider7, cppcodeprovider version = 10.0.0.0, culture = neutre, publickeytoken = b03f5f7f11d50a3a 'pour le commutateur/la langue n'est pas valide. Il n'y a pas de fournisseur de codedom défini pour la langue.
Je sais que CppCodeProvider est installé dans le cadre de l'installation de Visual Studio. J'ai aussi essayé/langue: cpp en vain. J'ai été capable de générer du code en C# sans aucun problème pour le même XSD.
Est-ce que quelqu'un sait ce que je fais mal?
Nous avons beaucoup de code en C++ non géré. Nous sommes en train de convertir en managed (C# est l'objectif final). Cependant, ne peut pas accepter le coût de tout ou aucun changement. Par conséquent, nous avons besoin d'un moyen de faire des appels non gérés. Faire de l'interopérabilité en utilisant le marshaling est très coûteux car nous avons de grandes structures de données (composites) qui doivent aller et venir. Au lieu de cela, je veux prendre le contrôle de marshalling sélectivement (en seulement les structures de données requises). Cela fonctionne comme modèle de conception d'adaptateur. Nous devons donc utiliser CIL. – Chetan
Remarque: Le commutateur prend uniquement en charge C++ pour le fournisseur de code fourni avec Visual Studio 2005 SP1. Cela signifie-t-il que je suis obligé d'installer Visual Studio 2005 SP1 pour que le fournisseur de code CPP fonctionne? – Chetan