Création de dlls en C#

Signaler
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
-
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
-
où est ce que je pourrais trouver un cours claire et détaillé dur la
création et l'exploitation des DLLs et des controles ActiveX, avec des
exemples, si possible.

merci

10 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut, tout est dans le SDK du framework.. Pour créer une DLL managée rien de plus simple il suffit de changer une option du compilateur ( -target:library ) ou une option dans Visual Studio, pour utiliser une DLL native ( C\C++ ect.. ) c'est plus dur, il faut utiliser PInvoke ( platform invoke ) pour faire correspondre les types, pour utiliser un composant COM il faut créer un wrapper ( une DLL ) avec tlbimp.exe ou alors c'est fait de manière transparente avec Visual Studio, par contre créer un composant COM ( hormis CCW ) c'est très compliqué et ca n'a plus rien à voir avec .NET, c'est une autre technologie.. Désolé je ne connais pas de liens intéressants.
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
4
ecoutez, je voulais un cours mais puisque vous t'as l'aire de savoir, je te présente ce que je ve faire exactement:
j'ai une application que j'ai déja créé (sous Compact Framework), elle est basée sur une Form qui s'affiche comme Dialog (Form.ShowDialog() ); alors je ve convertir ce dialogue en un composant précompilé qu'on pourra utiliser dans d'autres applications.
alors qu'est ce que je dois faire?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Je n'utilise pas le compact framework mais y'a pas de raison pour que ce soit différent.. Tu dois compiler ton application en une DLL, ex : "Csc.exe -target:library -out:MyLibrary.dll MyFile.cs" la seule différence c'est qu'il n'y a pas besoin de méthode Main dans une librairie.. Maintenant pour créer un EXE qui utilise ta librairie il suffit juste d'ajouter les bons using dans ton code et une référence à la compilation ex: "Csc.exe -target:winexe -reference:MyLibary.dll -out:MyProg.exe MyFile.cs" Si tu travails avec Visual Studio c'est encore plus simple y'a même pas besoin de connaitre les options du compilateur.
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
4
je compile pas en ligne de commande et je sais pas comment le faire, j'utilise VisualStudio .NET 2003 je compile et deploi apartir des menus.
tu pe me decrir comment le faire sous MS VS .NET 2003?
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
J'ai pas VS installé sur ma machine là..

1 ) Tu crées un projet librairie et tu compiles c'est tout !


2 ) Tu crées un projet form, tu rajoutes une référence de ta librarie dans l'explorateur de projets et tu compiles.

Pas facile dêtre précis sans VS sous les yeux : )


A l'execution ta lib doit être dans le même dossier que l'exe ou installée dans la GAC.
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
4
lorsque je crèe un projet librairie et j'y met mes classes
(dont une hérite de Form) lors de la compilation il s'arret sur les
using System.windows.<machain> !!
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
4
je veux dire, il reconnais pas System.Windows
Messages postés
489
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2009
4
je presise que j'ai pas trouvé quelque chose qui s'appèle
"projet librairie" alors j'ai choisis "projet bibliothèques de
contrôles windows"
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Vi, vi bibliothèque ou librairie c'est pareil.. En fait les System.Windows.Forms c'est exactement la même chose que ce que tu veux faire, càd c'est une DLL précompilée avec des formes dedans, donc tu mets les bons usings dans le code qui va les utiliser et tu ajoutes une référence sur System.Windows.Forms.dll dans l'explorateur de solution, mais normalement elle y est déja cette référence pour le projet bibliothèque de contrôles..
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
Bonjour ,

attention a ne pas confondre les projets de type "bibliotheque de controle windows" et les projets de type "bibliotheque de classes"....

aussi en faisant using, attention à la case (utilise l'autocomplétion pour etre sur de tes namespaces)

autre point : vérifie l'existence de la classe System.Windows.Forms dans le compact framework.