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# Discussion :

Création et utilisation de dll en C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Par défaut Création et utilisation de dll en C#
    Bonjour,

    Je souhaiterais créer et utiliser une dll développée en C#.

    J'ai déjà développé des solutions en C# contenant des dll, mais là je souhaiterais juste avoir des dll dans mon projet, pour par exemple les utiliser dans Excel avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare PtrSafe Function test Lib "testLib" Alias "testA" (ByVal a As integer) As integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    namespace test_namespace
    {
        public static class ClassTest
        {
            public static int test(int a)
            {
                return a * 2;
            }
        }
    }
    Mes problèmes c'est que je ne connais pas tout les détails auxquels il faut être attentif ni comment bien paramétré mon projet: importance du namespace ou de la classe,inscrire au COM, référencer la dll avec regSrv (x32 ou x64), comment distribuer ma dll sur d'autre poste...

    En gros, j'ai une vague idée de comment ça devrait fonctionner... mais Ca ne fonctionne pas... Pouvez-vous m'aider?

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Si je comprends bien, tu veux appeler une dll .NET depuis Excel ?
    Donc en VBA.
    Si c'est bien cela, peut-être auras-tu plus de chances dans le forum VBA.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Par défaut
    L'appel de la dll du coté VBA fonctionne, je le citais en exemple. Mais j'aurais voulu utiliser la dll dans d'autres projets (C#, VB.NET...).

    Je n'arrive pas à créer un projet dll correctement paramétré, et je ne vois pas comment distribuer les dll sur des postes client où la dll sera utilisée.

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Je crois mieux comprendre ton besoin, mais il y a plusieurs façons de faire.

    Peux-tu nous donner un (ou plusieurs) cas concret pour que nos réponses soient plus précises ?

  5. #5
    Membre averti
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Par défaut
    Je souhaiterais, par exemple, créer une bibliothèque (dll) de fonctions mathématiques. Ces fonctions devront traiter des paramètres passés en argument et retourner un résultat.

    Je souhaiterais que cette bibliothèque soit dissociée de tout projet exécutable, puisque je l'utiliserais avec des projets différents en C# (ou Excel) ne contenant pas la dll mais lui l'utilisant. (j'ai l'impression de ne plus être très clair...)

    Aujourd'hui, dans une solution complète développée en C# le projet dll communique bien avec les projets exécutables. Mais je souhaiterais pouvoir développer ces différentes parties développées dans des solutions différentes...

    Je crois que ce qu'il me faut, c'est savoir rendre visible ma dll dans "COM>Bibliothèques de types" depuis le gestionnaire de références dans Visual Studio.

    PS: Si cela a de l'importance: je suis sous Windows 8 et Visual Studio 2012

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Quelques réponses :
    • Si ta dll doit être utilisable par des applications non .Net, il vaudra mieux la rendre compatible COM, effectivement. Cette option s'active dans les propriétés d'un projet Visual Studio, dans les information d'assembly, c'est une case à cocher.
    • Pour l'utiliser dans d'autres applications :
      • Applications non .NET : je ne sais pas !
      • Application .NET :
        • Le plus simple :
          - Embarquer la librairie dans l'application en tant que dll .Net.
        • Le plus interopérable (mais bien plus compliqué à mettre en œuvre et pas testé donc sans garantie) :
          - Créer un installeur permettant de déployer la librairie COM (en enregistrant la librairie dans la bibliothèque COM sur le poste cible)
          - Référencer la librairie en tant qu'objet COM dans l'application.

Discussions similaires

  1. Création et utilisation de DLL dans mIRC
    Par ram-0000 dans le forum Réseaux
    Réponses: 0
    Dernier message: 03/04/2013, 14h13
  2. Création et utilisation de dlls dans un programme
    Par Crabe05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 02/01/2009, 07h25
  3. Paumé dans la création et l'utilisation de DLLs
    Par pierre.chatelier dans le forum C++/CLI
    Réponses: 22
    Dernier message: 23/10/2007, 15h39
  4. [PB 10.5] Création et utilisation de DLL Powerbuilder
    Par Kalini dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 07/09/2007, 12h21
  5. Réponses: 6
    Dernier message: 07/06/2007, 22h03

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