IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Donner un numéro de version à mon projet


Sujet :

Visual Studio

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut Donner un numéro de version à mon projet
    Bonjour à tous,

    J'utilise Visual Studio 2010 Express C++, et je n'arrive pas à trouver comment :

    - Attribuer un numéro de version à mon projet;
    - Activer l'incrémentation automatique du numéro de version de build.

    Pour ce qui est de l'incrémentation automatique, peut-être n'est-ce pas disponible sur la version Express?
    Mais il devrait au moins y avoir un moyen de préciser un numéro de version, car mon exécutable de ma release n'en a pas.

    PS: Mon projet est un projet console Win32 et ne possède pas de fichier AssemblyInfo.cs.

    Merci d'avance,
    Clément.

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Click droit sur le projet puis "propriétés". Dans "Assembly Information" tu as le numéro de version.

    Tu peux faire une version de Build automatique avec http://autobuildversion.codeplex.com/
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Click droit sur le projet puis "propriétés". Dans "Assembly Information" tu as le numéro de version.
    Sauf qu'il est en natif

    Le monsieur il a écrit :

    Citation Envoyé par CleeM Voir le message
    PS: Mon projet est un projet console Win32 et ne possède pas de fichier AssemblyInfo.cs.
    et je ne me rappelle plus du tout comment on introduit une version en natif.

    C'est un paramètre du linker, oui, mais lequel ???

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Merci pour vos réponses.

    En effet je n'ai ni cet onglet "Asssembly Information", ni le fichier auquel il est associé dans le dossier de mon projet.

    J'ai essayé d'installer le soft de build automatique, mais j'ai une erreur lorsque je l'exécute (apparemment un problème de version de VS...).

    Je vais regarder du côté du Linker, je vous tiens au courant.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Ok donc il y a bien un champ "Version" dans les propriétés du projet dans l'onglet "Editeur de liens" / "Général".
    Mais si je mets, par exemple, 1.0.0.1, et que je compile (Générer et/ou Ré-Générer), mon exécutable n'a toujours pas de version dans les détails du fichier.

    Du côté d'AutoBuildVersion, j'ai téléchargé la dernière version bêta (2.5, compatible Visual Studio 2010), et lorsque je double clique sur le .VSI, je reçoit l'erreur :

    Un ou plusieurs éléments de contenu présents dans le fichier.vscontent ne peuvent pas être installés, car la version appropriée du composant d'installation de contenu est introuvable.
    Contactez l'auteur du fichier de contenu pour obtenir les informations relatives aux programmes d'installation et version requis.
    Suivit de :

    Soit le fichier .vsi ou .vscontent n'a pas de contenu installable, soit il contient des erreurs.
    Même erreur avant & après la dernière mise à jour de Visual Studio 2010.

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Bon j'ai réussi à mettre un numéro de version + quelques infos comme le copyright sur mon exécutable console.

    C'est un peu du bidouillage, donc je vais vous décrire les étapes, au cas où quelqu'un serait intéressé :

    - 1/ Créer un nouveau projet Windows Form.
    - 2/ Créer un nouveau projet Console.
    - 3/ Copier/Coller les fichiers ressource.h, NomDuProjet.rc et targetver.h dans le dossier du projet Console (ajouter aussi small.ico et NomDuProjet.ico si vous voulez garder les icones).
    - 4/ Renommer le fichier .rc avec le nom du projet Console.
    - 5/ Ajouter un nouveau fichier version.h au projet Console.
    - 6/ Copier le code ci-dessous (*a) dans le fichier version.h (modifier les champs nécessaires).
    - 7/ Ajouter une ligne #include "version.h" au fichier NomDuProjet.rc.
    - 8/ Ajouter le code ci-dessous (*b) dans le fichier NomDuProjet.rc (après Icône par exemple).
    - 9/ Compiler le projet Console et c'est bon.

    Il risque de vous demander les icônes si vous n'enlevez pas la partie Icone dans NomDuProjet.rc (présentes dans le projet Windows Form).


    *a: version.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #define STRINGIZE2(s) #s
    #define STRINGIZE(s) STRINGIZE2(s)
     
    // Les 4 chiffres qui composent un numéro de version :
     
    #define VERSION_MAJOR               1
    #define VERSION_MINOR               0
    #define VERSION_REVISION            0
    #define VERSION_BUILD               0
     
    #define VER_FILE_DESCRIPTION_STR    "Ceci est la description de l'exécutable"
    #define VER_FILE_VERSION            VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
    #define VER_FILE_VERSION_STR        STRINGIZE(VERSION_MAJOR)        \
                                        "." STRINGIZE(VERSION_MINOR)    \
                                        "." STRINGIZE(VERSION_REVISION) \
                                        "." STRINGIZE(VERSION_BUILD)    \
     
    #define VER_PRODUCTNAME_STR         "Le nom du produit"
    #define VER_PRODUCT_VERSION         VER_FILE_VERSION
    #define VER_PRODUCT_VERSION_STR     VER_FILE_VERSION_STR
    #define VER_ORIGINAL_FILENAME_STR   VER_PRODUCTNAME_STR ".exe"
    #define VER_INTERNAL_NAME_STR       VER_ORIGINAL_FILENAME_STR
    #define VER_COPYRIGHT_STR           "Le Copyright (C) 2012"
     
    #ifdef _DEBUG
      #define VER_VER_DEBUG             VS_FF_DEBUG
    #else
      #define VER_VER_DEBUG             0
    #endif
     
    #define VER_FILEOS                  VOS_NT_WINDOWS32
    #define VER_FILEFLAGS               VER_VER_DEBUG
    #define VER_FILETYPE                VFT_APP
    *b: Partie Version de NomDuProjet.rc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    /////////////////////////////////////////////////////////////////////////////
    //
    // Version
    //
    VS_VERSION_INFO VERSIONINFO
     FILEVERSION        VER_FILE_VERSION
     PRODUCTVERSION     VER_PRODUCT_VERSION
     FILEFLAGSMASK      0x3fL
     FILEFLAGS          VER_FILEFLAGS
     FILEOS             VER_FILEOS
     FILETYPE           VER_FILETYPE
     FILESUBTYPE        0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "FileDescription",  VER_FILE_DESCRIPTION_STR "\0"
                VALUE "FileVersion",      VER_FILE_VERSION_STR "\0"
                VALUE "InternalName",     VER_INTERNAL_NAME_STR "\0"
                VALUE "LegalCopyright",   VER_COPYRIGHT_STR "\0"
                VALUE "OriginalFilename", VER_ORIGINAL_FILENAME_STR "\0"
                VALUE "ProductName",      VER_PRODUCTNAME_STR
                VALUE "ProductVersion",   VER_PRODUCT_VERSION_STR "\0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x409, 1200
        END
    END

  7. #7
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Sauf qu'il est en natif
    Oups...Bon, cherchons une excuse...
    Voila :
    Et les forums C++, c'est pour les chiens ?
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Récupérer le numéro de version de mon projet
    Par Gouyon dans le forum Lazarus
    Réponses: 10
    Dernier message: 18/03/2010, 15h15
  2. [NB] Numéro de version du projet
    Par ricoh51 dans le forum NetBeans
    Réponses: 0
    Dernier message: 06/11/2008, 10h01
  3. Réponses: 5
    Dernier message: 14/10/2005, 11h39
  4. Réponses: 2
    Dernier message: 11/07/2005, 16h47
  5. Gestion du numéro de version d'un projet
    Par Chris B dans le forum EDI
    Réponses: 5
    Dernier message: 22/11/2004, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo