OVH Cloud OVH Cloud

Donner un nom fort a interop.Shell32?

5 réponses
Avatar
Kawaman
Bonjour.
Je souhaitais signer une dll avec une cle, donc dans le assemblyInfo.vb
je mets cette ligne :
<Assembly: AssemblyKeyFile("cles.ksn")>
Or maintenant à la compilation j'ai le message "Impossible de créer
l'assembly : l'assembly référencé 'Interop.Shell32' n'a pas un nom fort.
Du coup je suis bloqué.
Des conseils?

5 réponses

Avatar
TroXsA
salut

<Assembly: AssemblyKeyFile("c:......................cles.ksn")>

non ?

@+



"Kawaman" a écrit dans le message de news:
436f1fae$0$32420$
Bonjour.
Je souhaitais signer une dll avec une cle, donc dans le assemblyInfo.vb je
mets cette ligne :
<Assembly: AssemblyKeyFile("cles.ksn")>
Or maintenant à la compilation j'ai le message "Impossible de créer
l'assembly : l'assembly référencé 'Interop.Shell32' n'a pas un nom fort.
Du coup je suis bloqué.
Des conseils?


Avatar
Kawaman
Bonjour.
Je ne suis pas tres sur de comprendre la réponse...
Je ne peux pas modifier la Dll interop.shell32, vu qu'elle est générée
quand j'ajoute une référence a (c:WINNTSYSTEM32)shell32.dll^


TroXsA a écrit :
salut

<Assembly: AssemblyKeyFile("c:......................cles.ksn")>

non ?

@+



"Kawaman" a écrit dans le message de news:
436f1fae$0$32420$

Bonjour.
Je souhaitais signer une dll avec une cle, donc dans le assemblyInfo.vb je
mets cette ligne :
<Assembly: AssemblyKeyFile("cles.ksn")>
Or maintenant à la compilation j'ai le message "Impossible de créer
l'assembly : l'assembly référencé 'Interop.Shell32' n'a pas un nom fort.
Du coup je suis bloqué.
Des conseils?







Avatar
Zoury
Salut Kawaman ! :O)

L'utilisation de méthode/function provenant de dll Win32 sous .NET consiste
généralement à déclarer les méthodes soit avec Declare ou avec l'attribut
DllImport(). Peux-tu nous dire pourquoi est-ce que, dans ton cas, tu dois
ajouter une référence explicite vers la librairie user32.dll ?

--
Cordialement
Yanick
MVP pour Visual Basic
"Kawaman" a écrit dans le message de news:
436f1fae$0$32420$
Bonjour.
Je souhaitais signer une dll avec une cle, donc dans le assemblyInfo.vb je
mets cette ligne :
<Assembly: AssemblyKeyFile("cles.ksn")>
Or maintenant à la compilation j'ai le message "Impossible de créer
l'assembly : l'assembly référencé 'Interop.Shell32' n'a pas un nom fort.
Du coup je suis bloqué.
Des conseils?


Avatar
Kawaman
Ben techniquement ce n'est pas moi qui m'en sert...
Je ne suis pas seul sur le projet, et c'est un collegue qui en a besoin.
Il m' a parlé d'une histoire de récupérer des nom DOS pour la
restauration des bases de données et de choses comme ca.
Petit detail aussi, ce n'est pas user32 qui est utilisée mais shell32


Zoury a écrit :
Salut Kawaman ! :O)

L'utilisation de méthode/function provenant de dll Win32 sous .NET consiste
généralement à déclarer les méthodes soit avec Declare ou avec l'attribut
DllImport(). Peux-tu nous dire pourquoi est-ce que, dans ton cas, tu dois
ajouter une référence explicite vers la librairie user32.dll ?



Avatar
Zoury
Techniquement, il n'a pas à ajouter de référence directe au dll.
Il n'a qu'à déclarer la fonction/méthode, ce procédé s'appel du P/Invoke
(pour "platform invoke").
On doit importer le namespace System.Runtime.InteropServices.

Voici deux documents complet sur le sujet :

Calling Win32 DLLs in C# using P/Invoke
http://msdn.microsoft.com/msdnmag/issues/03/07/NET/

P/Invoke revisited
http://msdn.microsoft.com/msdnmag/issues/04/10/NET/

Et un bon tas d'exemple :
http://groups.google.com/groups?hl=fr&lr=&num0&q=DLLImport+OR+declare+group%3A*.dotnet.*


--
Cordialement
Yanick
MVP pour Visual Basic

"Kawaman" a écrit dans le message de news:
43785764$0$16541$
Ben techniquement ce n'est pas moi qui m'en sert...
Je ne suis pas seul sur le projet, et c'est un collegue qui en a besoin.
Il m' a parlé d'une histoire de récupérer des nom DOS pour la restauration
des bases de données et de choses comme ca.
Petit detail aussi, ce n'est pas user32 qui est utilisée mais shell32


Zoury a écrit :
Salut Kawaman ! :O)

L'utilisation de méthode/function provenant de dll Win32 sous .NET
consiste généralement à déclarer les méthodes soit avec Declare ou avec
l'attribut DllImport(). Peux-tu nous dire pourquoi est-ce que, dans ton
cas, tu dois ajouter une référence explicite vers la librairie user32.dll
?