GNT sans publicité, site mobile, fonctionnalitées exclusives...

regasm, gacutil et AssemblyKeyFile

Le
Michael Moreno
Bonjour,

J'essaie de creer une classe .Net simple et de l'enregistrer comme un
COM.
J'ai beau avoir un livre sous les yeux, depuis 2 h j'y arrive pas !
Sauriez-vous ou il y a un tutorial svp ? Pas la MSDN Je l'ai lu 10
fois et j'y comprends rien car elle ne contient pas d'exemple.

Ce que j'arrive a faire:

J'arrive a utiliser regasm avec /tlb et a enregistrer le COM (sans
strong key). Mais quand j'ouvre VBA il me reconnait la classe mais il
ne connait aucune methode de la classe. Je crois comprendre que pour
resoudre ce probleme, il faut enregistrer la DLL dans le GAC. Pour ce
faire j'ai utilise "sn" et j'ai cree un fichier MyFirstCOM.snk. Dans le
fichier AssemblyInfo.cs, j'ai bien mis :[assembly:
AssemblyKeyFile("MyFirstCOM.snk")]

Le tout compile bien.

--
-
http://michael.moreno.free.fr/
Lire les 6 réponses

Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ambassadeur Kosh
Le #12423911
tu veux faire un COM ou un assembly DotNet ?
ton appli client, c'est quoi ?
si c'est une appli dotnet, pourquoi vouloir faire un COM ?
Michael Moreno
Le #12423901
Je ne suis pas sur d'avoir ete suffisamment clair.

J'ai cree la cle avec sn
J'ai compile en liant la DLL avec la cle
J'ai enregistre dans le GAC
J'ai execute regasm

Pourtant sous Excel, seule le nom de la classe apparait, aucune methode
n'est apparemment disponible.

Auriez-vous une idee ou un tutorial sur la question svp ?

Merci

Michael

--
----
http://michael.moreno.free.fr/
Michael Moreno
Le #12423881
Bonjour,

tu veux faire un COM ou un assembly DotNet ?



Je souhaite faire un COM ecrit en C#.

ton appli client, c'est quoi ?



Une appli client/Serveur assez grosse developpee a l'aide de COM

si c'est une appli dotnet, pourquoi vouloir faire un COM ?



C'est une appli COM pour laquelle on teste la possibilite de creer les
nouveaux COM en .Net pour eviter d'avoir a les ecrire dans un language
pour Win32 et d'avoir a les reecrire sous .Net d'ici 3 ans.

--
----
http://michael.moreno.free.fr/
Ambassadeur Kosh
Le #12423831
je peux pas t'aider la dessus.
désolé
Paul Bacelar
Le #12423811
Vous confondez GAC et base de registre.

Si Excel voit votre objet, c'est que l'assembly est correctement enregistré
dans la base de registre.

Si vous n'avez pas de méthode, c'est que votre objet .NET de publie pas les
interfaces COM qu'il supporte et que Excel peut interpréter.

Regardez du côté de [ClassInterface(ClassInterfaceType.AutoDispach)].

Jetez un coup d'oeil à la base de registre pour voir les autres anomalies
qui empêcherait l'instanciation de votre composant COM.
--
Paul Bacelar


"Michael Moreno" news:
Je ne suis pas sur d'avoir ete suffisamment clair.

J'ai cree la cle avec sn
J'ai compile en liant la DLL avec la cle
J'ai enregistre dans le GAC
J'ai execute regasm

Pourtant sous Excel, seule le nom de la classe apparait, aucune methode
n'est apparemment disponible.

Auriez-vous une idee ou un tutorial sur la question svp ?

Merci

Michael

--
----
http://michael.moreno.free.fr/



Publicité
Suivre les réponses
Poster une réponse
Anonyme