2010-12-05 27 views
0

J'ai les inconvénients suivants lorsque je travaille avec MS Visual Studio.Visual Studio 2005 conserve la "recompilation" du schéma XML

Mon projet contient du code C++ et un fichier de schéma (avec l'extension .xsd). J'ai une "étape de construction personnalisée" pour convertir le fichier en source C; le fichier généré ressemble ainsi:

extern const char xmlSchema[] = { 
    0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, // <?xml ... 
    ... 
} 

je remarqué que lorsque je modifier le fichier de schéma en dehors de Visual Studio, ou peut-être télécharger une nouvelle version d'un système de contrôle de code source, Visual Studio remarque immédiatement que et appelle l'étape de construction personnalisée (ce que je m'attendrais à ce que je devrais faire seulement quand je "construis" mon projet). Ceci est particulièrement gênant lorsque mon projet est en cours d'exécution (j'obtiens une boîte de dialogue Do you want to stop debugging? à l'improviste), et peut entraîner des modifications perdues (jamais survenues pendant le travail réel mais possible).

Cela ne se produit pas si je renommer mon fichier pour avoir une extension non standard (par exemple .xsk), mais je n'aime pas cela parce que je perds la coloration syntaxique (et cela semble juste faux).

Je voudrais avoir des idées et des idées sur ce point:

  • Y at-il une raison de cette « fonctionnalité », ou est-ce juste une bizarrerie au hasard?

  • Une meilleure solution de contournement possible? Peut-être que vous utilisez une autre version de MS-VS, et ce n'est pas le cas pour vous (j'utilise MS-VS 2005 Standard Edition)?

Répondre

0

C'est, en effet, très ennuyeux. Exclure le schéma de votre build. Assurez-vous de le faire dans toutes les configurations de construction.

Cliquez avec le bouton droit sur le schéma et ouvrez la boîte de dialogue des propriétés. Sous "Common", définissez "Excluded from Build" sur true.

+0

Malheureusement, je ne peux pas le faire parce que je veux vraiment qu'il soit inclus dans la construction (j'ai une étape de construction personnalisée pour cela). Je suppose que je vais devoir vivre avec ce bug/fonctionnalité. – anatolyg