Question

Les informations de version, affichée lorsque les survols du curseur de la souris sur le fichier dans l'explorateur Windows, est défini pour un fichier construit par Visual Studio dans la ressource VERSION. Je voudrais mettre la version en un seul endroit pour tous les fichiers construits par une solution, de préférence lorsque je change la version dans les propriétés d'installation. Est-il possible de le faire?

La motivation est que si la version est pas mis à jour un fichier, puis le programme d'installation conserver les anciennes versions de fichiers au lieu de les remplacer par de nouveaux fichiers. Cela se produit même lorsque la propriété est définie les 'RemovePreviousVersions de. Pour enregistrer la tâche fastidieuse et sujette erreur de mise à jour de la version dans chaque fichier construit et installé, je retire la ressource version de tous les fichiers -. Qui est pas élégant

Était-ce utile?

La solution

La deuxième réponse dans le sujet Stack Overflow Comment changer un programatically de projet version du produit? propose une solution pour régler le numéro de version d'un fichier d'en-tête commune en C ++. Il suffit de placer le fichier d'en-tête contenant les numéros de version codées en dur dans un dossier dans lequel chaque projet peut le trouver.

La réponse ci-dessus décrit également un moyen de incrémenter le numéro de version. Une autre approche pour la incrémentation de version C est disponible à partir de l'article de Microsoft Comment les informations de version augmentation d'échelon après chaque génération dans Visual C ++ .

Vous pouvez également utiliser votre numéro de révision du référentiel de contrôle de code source dans le cadre du numéro de version. L'article Stack Overflow Création d'un fichier avec le numéro de build et le nom de la branche SVN donne un aperçu de ce pour les utilisateurs TortoiseSVN. Les deux articles suivants examinent cette question plus en profondeur:

  
    

l'intégration de la révision Subversion dans la version automatique     .NET (C # ou VB)

         

Autres conseils

Pour centraliser versioning une solution:

  1. Prendre l'info version de AssemblyInfo.cs;
  2. Créer un nouveau fichier (GlobalAssemblyInfo.cs) et mettre vos informations de version (à l'aide * pour obtenir VS pour créer un nouveau numéro de version pour chaque version);
  3. Référence GlobalAssemblyInfo.cs comme lien: Ajouter | Point existant puis tomber sur le bouton Ajouter dans la sélection de fichiers à choisir au lieu Ajouter comme lien;
  4. Répétez l'opération pour chaque projet dans la solution;

J'utilise un bloc comme celui-ci pour la version:

#if DEBUG

[assembly: AssemblyVersion ( "1.8.0.0")]

#else

[montage: AssemblyVersion ( "1.8 *")]

endif

Cela permet de maintenir VS de reconstruire toutes les assemblées au cours du développement, mais donne à chaque assemblée un nouveau numéro de version lorsque je construis une version.

scroll top