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
    Membre exp�riment�
    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 : 47
    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
    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 ?

  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
    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
    Membre exp�riment�
    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 : 47
    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
    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 ...

  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
    Par d�faut
    je suis pas super cal� en manifest, mais dans le xml, t'as bien renseign� la version ?

  5. #5
    Membre exp�riment�
    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 : 47
    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
    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)];

  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
    Par d�faut
    et t'as bien sign� l'assembly ?

  7. #7
    Membre exp�riment�
    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 : 47
    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
    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.

  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
    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
    Membre exp�riment�
    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 : 47
    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
    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.

  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
    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
    Membre exp�riment�
    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 : 47
    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
    Par d�faut
    J'en suis toujours au m�me stade malheureusement

  12. #12
    Membre exp�riment�
    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 : 47
    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
    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 ?

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, 14h36
  2. R�ponses: 6
    Dernier message: 27/06/2007, 10h33
  3. R�ponses: 1
    Dernier message: 02/04/2007, 11h23
  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, 11h42
  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, 21h29

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