Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1823 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] Casse tête de .dll

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Casse tête de .dll

n°1440704
les gens r​oots
Jah rastafarei
Posté le 12-09-2006 à 10:29:39  profilanswer
 

Bonjour à tous ceux qui voudrons m'écouter  :hello:  
 
J'ai besoin de créer une .dll COM objet en VB.NET.
J'ai tout d'abord commencé par créer une librairie "standard" .NET
J'ai réussi à créer un COM objet par la suite après quelques lignes de commande fastidieuses.
Mon problème est le suivant:
après la création de cette .dll de tests je me suis atelé à mes développements proprement dit et là ECHEC:
j'ai besoin d'importer un COM objet provenant d'une autre appli. Le problème est que cette .dll n'a pas de nom fort... (ou Strong Name: madll.snk)
En effet, je fait référence à celle-ci dans la .dll que je créer. Et lorsque j'exécute un petit .vbs pour tester cette .dll HORREUR => le système n'arrive pas à localiser la .dll dont je fais référence...
Quelqu'un aurait-il une idée merveilleuse pour me sortir de cette $%!@ ?
Merci d'avance  :bounce:


Message édité par les gens roots le 12-09-2006 à 15:02:13
mood
Publicité
Posté le 12-09-2006 à 10:29:39  profilanswer
 

n°1440712
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-09-2006 à 10:40:57  profilanswer
 

Normalement, tu dois la signer avec un nom fort, puis la placer dans le GAC


---------------
J'ai un string dans l'array (Paris Hilton)
n°1440737
les gens r​oots
Jah rastafarei
Posté le 12-09-2006 à 11:09:52  profilanswer
 

C'est bien ce que je dis ^^. Lorsque je signe ma .dll avec un nom fort il m'envoie chier car l'objet COM que j'ajoute en référence à ma .dll n'a pas elle-même de nom fort T.T

n°1440751
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-09-2006 à 11:18:21  profilanswer
 

ben créé un nom fort pour ta dll :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
n°1440770
les gens r​oots
Jah rastafarei
Posté le 12-09-2006 à 11:33:46  profilanswer
 

Je ne peux pas elle n'est pas a moi -_-.

n°1441042
les gens r​oots
Jah rastafarei
Posté le 12-09-2006 à 15:02:33  profilanswer
 

C'est bon vous creusez pas la tête j'ai encore trouvé tout seul ;p

n°1457842
davestar
Programming is good
Posté le 16-10-2006 à 10:40:44  profilanswer
 

Et tu as fais comment ??
j'ai le même probleme que toi
merci :)

n°1457998
les gens r​oots
Jah rastafarei
Posté le 16-10-2006 à 14:14:13  profilanswer
 

Alors tu fais un "New Project" dans VisualStudio, sélectionne l'onglet "Class Library". Ensuite tu met ton code comme tu veux,  comme on l'a dit au dessus tu signe ta .dll dans les propriétés du projet. Tu build et tu place ta .dll à un endroit où elle bougera pas.  
Ensuite tu exécute un GAC (C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin) dans une invite de commande =>
  C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe -i C:\Program Files\MaDLL.dll
,ce qui va installer ta .dll dans le cache
 
Enfin tu relance un cmd et tu fais un Regasm de ta .dll (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe) =>
  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe  
C:\Program Files\MaDLL.dll
Pour register l'assembly créée dans le reg.
Et voilà t'as ta .dll enregistrée.
C'était pas compliqué pourtant xD
 
 
 
 

n°1537452
Chandy
Patapäy
Posté le 02-04-2007 à 17:05:23  profilanswer
 


Je rebondis sur le sujet  :bounce:  
Une fois la dll créée, comment tu fais pour la faire évoluer ?
Parce que moi j'en ai bien fait une, mais elle est fixe, après quand je modifie le code, et que je compile, ca la prend pas en compte. Je dois faire plein de bidouilles dont redémarrer la bécane  :(  
Puis finalement la réenregistrer pour tester.
 
Y a pas plus simple pour désinstaller/reinstaller l'assembly quand on est en cours de dév ?

n°1537508
les gens r​oots
Jah rastafarei
Posté le 02-04-2007 à 19:01:44  profilanswer
 

Hmm pas à ma connaissance... Désolé mais je suis pas assez compétent dans le domaine pour te répondre ^^. Ce que je fesais c'est à chaque build:    regasm -u|gacutil -u / build / regasm|gacutil -i
Me rapelle plus si je devais reboot ma machine mais il me semble pas.


---------------
Les neurones c'est neurologique.
mood
Publicité
Posté le 02-04-2007 à 19:01:44  profilanswer
 

n°1537618
Chandy
Patapäy
Posté le 03-04-2007 à 09:40:12  profilanswer
 

les gens roots a écrit :

Hmm pas à ma connaissance... Désolé mais je suis pas assez compétent dans le domaine pour te répondre ^^. Ce que je fesais c'est à chaque build:    regasm -u|gacutil -u / build / regasm|gacutil -i
Me rapelle plus si je devais reboot ma machine mais il me semble pas.


 
En fait il semble qu'il y ait quelques problèmes dans mon registre, j'obtiens des exceptions quand j'essaie de faire les "-u".
Pour le gacutil -u, il me dit qu'il ne peut pas accéder au fichier car il est utilisé par un autre processus.
Pour le regasm -u, il me sort ceci :
 

Code :
  1. C:\Documents and Settings\e288508\Desktop>regasm Batch1.dll
  2. Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
  3. Copyright (C) Microsoft Corporation 1998-2002.  Tous droits réservés.
  4. Inscription des types réussie
  5. C:\Documents and Settings\e288508\Desktop>regasm -u Batch1.dll
  6. Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
  7. Copyright (C) Microsoft Corporation 1998-2002.  Tous droits réservés.
  8. System.ArgumentException: Impossible de supprimer une sous-clé car elle n'existe
  9. pas.
  10.    at Microsoft.Win32.RegistryKey.DeleteSubKey(String subkey, Boolean throwOnMis
  11. singSubKey)
  12.    at Microsoft.Win32.RegistryKey.DeleteSubKey(String subkey)
  13.    at ShellExt.BatchResultContextMenu.UnregisterServer(String str1) in c:\docume
  14. nts and settings\e288508\desktop\source\batchresults.cs:line 263
  15. Suppression de l'inscription des types réussie

 :pt1cable:


Message édité par Chandy le 03-04-2007 à 09:52:15
n°1538777
les gens r​oots
Jah rastafarei
Posté le 05-04-2007 à 08:35:46  profilanswer
 

Soit xD. La seule différence que je vois avec ton environnement c'est que moi je travaille en .NET 2.0
Sinon j'ai jamais eu d'exception suite à ces opérations t_t. Désolé de pas pouvoir t'en dire plus... Tu trouvera p-e ton bonheur sur MSDN... Bon courage :bounce:


---------------
Les neurones c'est neurologique.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] Casse tête de .dll

 

Sujets relatifs
[Résolu] Problème avec count et distinct[Résolu] [SQL 2005] Copier les valeurs d'une table à une autre
[résolu]Encodage de caractère[Résolu][ASP.NET 2.0][C#] Plusieurs load pour une meme page
Résolu [Javascript] Agir dans Popup après fermeture de la fenetre mère[Résolu]Problème depuis que Register Globals est sur off
[non résolu] Retourner le paragraphe le plus récent par document[xsl] [résolu] du rififi dans mon if :D
[résolu]Argument en entrée[Resolu] Formulaire dynamique avec checkboxs
Plus de sujets relatifs à : [Résolu] Casse tête de .dll


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR