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

C++/CLI Discussion :

Comment générer et intégrer le manifeste d'une assembly ?


Sujet :

C++/CLI

  1. #1
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut Comment générer et intégrer le manifeste d'une assembly ?
    Bonjour,

    Je viens de remarquer que mes dll C++/CLI ne possèdent pas de manifeste (si sur la dll je fais clic droit > propriétés, l'onglet version est inexistant). J'ai cherché mais je n'ai rien trouvé là dessus.

    Le manifeste est généré d'après les informations contenues dans le fichier AssemblyInfo, mais si en C# le manifeste est bien intégré à la dll, en C++/CLI je n'ai rien.

    Donc, comment générer et intégrer le manifeste d'une assembly en C++/CLI ?
    Pas de questions techniques par MP

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    il faut que tu le rajoutes à la main dans les options du projet, "manifest tool / input and output"

    le but étant de rajouter des options à la compilation du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mt /manifest lib.dll.manifest
    /outputresource:lib.dll;#2

  3. #3
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Dans mon projet, l'option "Incorporer le manifeste" est activée, donc ca devrait être bon. J'ai aussi essayé directement en ligne de commande avec l'utilitaire mt (en désactivant l'option "Incorporer le manifeste" avant), et rien à faire, je n'ai pas d'onglet version sur les propriétés de ma dll

    En plus, SandCastle cherche à lire le manifeste donc je ne peux pas l'utiliser sur mes projets C++/CLI ...
    Pas de questions techniques par MP

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    je suis pas super calé en manifest, mais dans le xml, t'as bien renseigné la version ?

  5. #5
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par nico-pyright(c)
    je suis pas super calé en manifest, mais dans le xml, t'as bien renseigné la version ?
    Quel fichier Xml ? J'ai juste mon fichier AssemblyInfo.cpp généré quand on crée un nouveau projet de dll (le même que pour un projet C# en gros).
    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
    34
    35
    36
    37
    38
    #include "stdafx.h"
     
    using namespace System::Reflection;
    using namespace System::Runtime::CompilerServices;
    using namespace System::Runtime::InteropServices;
    using namespace System::Security::Permissions;
     
    //
    // General Information about an assembly is controlled through the following
    // set of attributes. Change these attribute values to modify the information
    // associated with an assembly.
    //
    [assembly:AssemblyTitleAttribute("...")];
    [assembly:AssemblyDescriptionAttribute("...")];
    [assembly:AssemblyConfigurationAttribute("...")];
    [assembly:AssemblyCompanyAttribute("...")];
    [assembly:AssemblyProductAttribute("...")];
    [assembly:AssemblyCopyrightAttribute("...")];
    [assembly:AssemblyTrademarkAttribute("...")];
    [assembly:AssemblyCultureAttribute("...")];
     
    //
    // Version information for an assembly consists of the following four values:
    //
    //      Major Version
    //      Minor Version
    //      Build Number
    //      Revision
    //
    // You can specify all the value or you can default the Revision and Build Numbers
    // by using the '*' as shown below:
     
    [assembly: AssemblyVersionAttribute("1.0.0.0")]
    [assembly: AssemblyFileVersionAttribute("1.0.0.0")]
     
    [assembly:ComVisible(false)];
    [assembly:CLSCompliantAttribute(true)];
    [assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
    Pas de questions techniques par MP

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    et t'as bien signé l'assembly ?

  7. #7
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par nico-pyright(c)
    et t'as bien signé l'assembly ?
    C'est nécessaire ? Parce que mes assemblies C# ne sont pas signées et pourtant j'ai bien l'onget de version sur les propriétés.
    Pas de questions techniques par MP

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    http://msdn2.microsoft.com/en-us/library/51ket42z.aspx
    dans la note
    Citation Envoyé par msdn
    Versioning is done only on assemblies with strong names.

  9. #9
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Ca ne s'applique qu'au C++/CLI alors puisqu'en C# j'ai bien ces informations sur mes librairies ?

    En attendant, je vais regarder du côté de la signature pour voir comment signer ma librairie. Je ne marque pas le sujet comme résolu puisque je vais peut être enchainer avec des problèmes de signature

    Merci Nico en tout cas

    Edit : bon, même après signature c'est toujours pareil, rhalala.
    Pas de questions techniques par MP

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    argh, j't'aide pas beaucoup ...

    regarde voir peut-etre cet article, mais à vrai dire, je commence à manquer d'idée http://www.ddj.com/dept/cpp/184406482

  11. #11
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    J'en suis toujours au même stade malheureusement
    Pas de questions techniques par MP

  12. #12
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    J'ai ouvert la dll qui me pose problème avec ILDASM, et le manifeste est bien présent
    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
    .assembly MonAssembly
    {
      .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyConfigurationAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ...
      .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ...
     
      .custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 ) 
      .permissionset reqmin
                 = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)},
                    [mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'UnmanagedCode' = bool(true)}}
      .hash algorithm 0x00008004
      .ver 1:0:0:0
    }
    Pourquoi maintenant je ne vois pas la version de ma dll dans les propriétés du fichier ? C'est anormal non ?
    Pas de questions techniques par MP

Discussions similaires

  1. Comment générer un log en output d'une requete ?
    Par Stephan09 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/04/2012, 15h36
  2. Réponses: 6
    Dernier message: 27/06/2007, 11h33
  3. Réponses: 1
    Dernier message: 02/04/2007, 12h23
  4. [WebForms]Comment générer dynamiquement tout ou partie d'une page html
    Par skywaukers dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 02/01/2007, 12h42
  5. [ImageMagick] Comment générer une image d'un code à entrer ?
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 16/01/2005, 22h29

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