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 :

utilisation d'une DLL .Net 2005 dans un programme .Net 2003


Sujet :

C++/CLI

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut utilisation d'une DLL .Net 2005 dans un programme .Net 2003
    Bonjour tout le monde,

    Tout d'abord, je suis nouveau ici (et en .Net aussi). Je gal�re depuis le d�but de la semaine et j'aimerai votre aide pour me d�bloquer. Voila la situation:

    Je cr�e une DLL sous .Net 2005 que j'arrive a l'utiliser dans un autre programme .Net 2005 en r�f�ren�ant directement le fichier .DLL.

    Mais le truc c'est que je voudrais utiliser cette DLL dans un programme .Net 2003. J'ai Lu qu'il faut l'enregistrer comme COM. Le probl�me c'est que quand le je fais, j'ai cette erreur au moment ou je r�f�rence MACLASS:

    � La biblioth�que de type MACLASS a �t� export�e d'un assembly CLR et ne peut pas �tre de nouveau import�e en tant qu'assembly CLR �

    Y a-t'il une solution?

  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
    ton programme en visual C++ 2003, c'est un programme .Net ou natif ?

    si c'est un programme .net, tu devrais faciler pouvoir utiliser ton assembly, sinon, tu peux regarder dans ce tuto http://nico-pyright.developpez.com/t...c2005/interop2 voir l'interop com ou le hosting de clr

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut
    En fait, je suis toujours en .Net.

    La DLL est �crite en VB (.Net 2005) et je veux l'utiliser dans un programme VB (.Net 2003)

    J'avais essay� d'utiliser la COM dans un code VB 6 et �a passe, mais impossible de l'ajouter dans mon programme VB (.Net 2003) et �a me fait l'erreur cit�e plus haut.

  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
    non, mais si tu es full .net, tu peux r�f�rencer ton assembly comme d'habitude, pas besoin de com interop

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut
    Je sais, c'est ce qui est tout a fait logique, d'ailleurs la r�f�rence passe tr�s bien quand je la fais dans un programme VB 2005.

    Mais quand je veux r�f�rencer le fichier .dll dans un programme VB 2003 (comme quand je le fais en 2005), j'ai l'erreur suivante:

    "Une r�f�rence "Chemin/MaClass.dll" n'a pas pu �tre ajout�e. Il ne s�agit pas d'un assembly valide ou d'un composant COM. Seuls les assemblys avec l'extension 'dll' et les composants COM peuvent �tre r�f�renc�s. Assurez vous que le fichier est accessible et qu'il s�agit d'un assembly valide ou d'un composant COM"

    C�est un peut pour �a que je me suis � cr�er un COM�

  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
    je vois ... ton assembly doit utiliser des ressources du framework 2.0 alors que vb2003 ne comprend qe le framework 1.x

    Quand tu l'enregistres pour com/interop et que tu ajoutes la r�f�rence, tu ajoutes bien une r�f�rence COM ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut
    Quand j�enregistre mon assembly pour com/interop, j�ai l�erreur suivante si je r�f�rence MACLASS (parmi la liste dans COM):

    � La biblioth�que de type MACLASS � �t� export�e d'un assembly CLR et ne peut pas �tre de nouveau import�e en tant qu'assembly CLR �

    Tu as raison pour les ressources framework 2.0 et 1.1. J�utilise pour construire ma DLL les ressources � System.Collections.Generic � et � BackgroundWorker � non presente dans la version 1.1�

    Serait-il plus r�sonable de re-�crire MACLASS en 2003... ?

  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
    tu as essay� de l'enregistrer � la main avec /codebase ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    regasm MaClass.dll /tlb:MaClass.tlb /codebase

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut
    ca donne cette r�ponse "la biblioth�que de types a �t� inscrite avec succ�s" mais toujours les memes erreurs lorsque je reference.

  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
    l'assembly est-elle sign�e ? as-tu essay� de l'enregistrer dans la GAC ?

    si apr�s ca, ca marche pas, je vois plus que la r��criture

  11. #11
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par d�faut
    Oui elle est sign�e.

    gacutil passe sans probleme mais le probleme demeure pour la reference...

    Bon, un weekend comme on les aime en perspective ^^

    Merci en tout cas pour ton aide.

Discussions similaires

  1. utilisation d'une manette ps3 sixaxis dans un programme
    Par dddj77 dans le forum Mat�riel
    R�ponses: 0
    Dernier message: 31/01/2010, 22h24
  2. Peut on utiliser une DLL DotNEt (C#) dans un programme en C?
    Par Jayceblaster dans le forum D�buter
    R�ponses: 12
    Dernier message: 12/02/2008, 17h46
  3. R�ponses: 1
    Dernier message: 22/05/2007, 12h03
  4. R�ponses: 9
    Dernier message: 06/04/2006, 18h40
  5. Liaison d'une dll Visual C++ dans un programme c++Builder
    Par Cyrilh7 dans le forum C++Builder
    R�ponses: 7
    Dernier message: 08/11/2003, 13h49

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