Comprendre le CLR

Résolu
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 - 6 août 2006 à 22:14
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 7 août 2006 à 23:45
Bonjour;
Bon, je veux apprendre plus sur le fonctionnement du CLR.
Je sais que quand on exécute un programme fait en .net, une partie de l'executable (qui est au format PE) s'occupe de 'hoster' le CLR et de lui transférer le contrôle ensuite.
J'ai aussi entendu dire que le CLR était un serveur COM.
C'est assez mélangeant et la seule manière de m'y retrouver est de revenir aux bases.
Je connais un peu C++ (ça va vite me revenir quand je serais dessus) et je voudrais m'initier à la programmation COM.
Malheuresement, sur Internet, je ne trouve pas de documents. Sur Amazon, des livres complexes mais pas d'introduction.
Alors, je viens ici pour vous demander des références et une liste d'étapes que je devrais idéalement suivre pour améliorer ma connaissance de la plateforme .net.

Mon but idéalement est d'être en mesure d'hoster moi-même une assembly (.exe ou .dll)
Merci les gars
[:D] @++

4 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 août 2006 à 11:39
Pour ce qui est de charger le CLR ça se passe avec CorBindToRuntimeEx ( mscoree.dll ).


Quand tu parles de t'initer à COM c'est pour utiliser COM ou pour créer des composants COM ? Dans le premier cas c'est relativement simple, y a 2 ou 3 chose à savoir ( CoCreateInstance, QueryInterface, AddRef etc.. ). Par contre créer un serveur COM là c'est autre chose.. faut definir les interfaces dans unfichier MIDL etc.. je connais pas assez mais je crois qu'en C++ y a un framework ATL qui simplifie ( un peu ) tout ça.
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
7 août 2006 à 00:36
As tu jeté un oeil sur Rotor l'implementation open-source ?

::|The S@ib|:: MVP C#.NET
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
7 août 2006 à 20:23
Merci Lutinore.
Étant donné que je veux juste avoir une idée de ce qu'est COM afin de mieux comprendre l'origine des technos d'aujourd'hui, leur utilisation me suffit.
Il y a plusieurs utilitaires qui viennent avec la plateforme .net qui s'occupe de convertir les objets COM en une assembly .net (comment il s'appellait deja -tlbimp ou qqch du genre).

[:D] @++
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 août 2006 à 23:45
Oui tlbimp.exe, la classe TypeLibConverter et aximp.exe c'est exactement la même chose qu'avec Visual Studio quand tu rajoutes une référence COM à ton projet, à part que tu as quelques options comme, modifier le namespace ou générer le code C#.

Par contre pour certains composant COM qui n'ont pas de librairie de type  il faut redefinir les interface s avec des attributs .NET.
0
Rejoignez-nous