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

Windows Forms Discussion :

utiliser une DLL 2.0 dans un projet 1.1


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Points : 27
    Points
    27
    Par défaut utiliser une DLL 2.0 dans un projet 1.1
    Bonjour à tous

    Je voudrais savoir s'il est possible d'utiliser une DLL faite en 2.0 dans un projet 1.1 ?

    J'ai essayer de la mettre dans les references mais VS2003 me dit :
    "This not a valid assembly or COM component".

    Ne maitrisant pas trop les DLL j'ai tout de même essayer avec
    [DllImport("Ma.dll", EntryPoint = "WriteLine")]
    private static extern Int32 MaFonction(String pText);

    Mais là il me dit que le point d'entrée n'existe pas. Comment faire pour créer un point d'entrée dans ma DLL alors ?

    Merci de vos réponses

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Les dll .Net ne sont pas des dll au sens "natif", ce sont des assembly, donc je suppose qu'elles n'ont pas d'entry point. Autant que je sache, une assembly faite dans une version n du framework ne peut pas utiliser une assembly faite avec une version plus récente.

    Après, je sais pas si c'est la version de la CLR ou celle du framework qui compte.
    ಠ_ಠ

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    DllImport est à utiliser si tu veux accéder aux méthodes d'une DLL non-écrite en .NET

    Toi, tu veux accéder aux méthodes d'une DLL écrite en .NET 2: tu dois juste ajouter la référence à cette DLL sur ton projet. Attention, rien ne garantie que cela fonctionne cependant....

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Si tu "register for COM interop" ton assembly 2.0, tu devrais pouvoir utiliser cette assembly comme un composant COM en 1.1.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Hélas non cela me fait la même erreur :
    "This not a valid assembly or COM component".

    N'y a-t-il rien à modifier dans le fichier assembly.cs ?

  6. #6
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Il est bien de faire la différence entre des DLL native du style celles qui sont écrites en C, ou celles qui sont des assemblages .Net

    Puisque la tienne est un assemblage .Net, pour ne pas te casser la tête, dans visual studio, tu fais project -> add reference et tu vas chercher ton assemblage. Tu profiteras ainsi de l'intellisense et tout.

    Si ca devait fonctionner, la machine qui fera tourner l'exe final devra aussi avoir la version du framework 2.0.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Hélas lorsque je fais cela, j'ai toujours la même erreur "This not a valid assembly or COM component".

    j'ai donc pris la décision d'upgrader mon application en 2.0... en espérant que tout aille bien.

    Merci de vos conseils.

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

Discussions similaires

  1. Utiliser une image non insérée dans le projet
    Par Gigi070 dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 05/03/2010, 09h23
  2. utiliser une DLL visual C++ dans projet C#
    Par yozart dans le forum C#
    Réponses: 4
    Dernier message: 12/11/2009, 02h11
  3. 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
  4. Réponses: 1
    Dernier message: 22/05/2007, 12h03
  5. [C#] Comment utiliser des dll win 32 dans un projet .NET
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 31/05/2005, 13h45

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