OVH Cloud OVH Cloud

Bibliothèques de classe

2 réponses
Avatar
alan
Bonjour.

Autrefois, avec VB6, il suffisait de copier les bibliothèques dans
%SYSTEMROOT%\System32 pour que les programmes les trouvent. Avec VB.NET,
cela ne fonctionne plus. Est-ce que quelqu'un sait comment faire pour
désigner l'endroit ou se trouvent les bibliothèques de classe, si elles ne se
trouvent pas dans le répertoire du programme?
Merci par avance

2 réponses

Avatar
Patrick Philippot
alan wrote:
Autrefois, avec VB6, il suffisait de copier les bibliothèques dans
%SYSTEMROOT%System32 pour que les programmes les trouvent. Avec
VB.NET, cela ne fonctionne plus. Est-ce que quelqu'un sait comment
faire pour désigner l'endroit ou se trouvent les bibliothèques de
classe, si elles ne se trouvent pas dans le répertoire du programme?
Merci par avance



Les assemblages .Net qui doivent être partagés entre différentes
applications doivent être installés dans le Global Assembly Cache (GAC),
soit par utilisation de l'outil GACUTIL (ligne de commande), soit par
simple glisser lâcher dans le répertoire WindowsAssembly.

Notez que pour pouvoir être installé dans le GAC, un assemblage doit
être pourvu d'un nom fort (strong name).

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
alan
J'en ai bavé, mais j'ai réussi....
Merci, ta solution est la bonne, mais il faut d'abord signer l'assembly, le
copier dans %systemroot%Microsoft.NETFrameworkv1.1.4322 , puis
glisser/déposer dans %systemroot%assembly.
Si l'assembly n'est pas copié dans le répertoire sus-cité, il ne le trouve
pas...
Merci pour tout.
(pour ceux qui ne savent pas signer l'assembly:
Commencez par sn -k Cle.sng
Copier cette clé dans le c: (plus facile a trouver)
DAns votre AssemblyInfo.vb, ajouter :
<Assembly: AssemblyKeyFileAttribute("c:cle.sng")>
Compilez, et c'est prêt
ATTENTION : VisualStudio uniquement, sinon l'utilitaire al.exe...
"Patrick Philippot" a écrit :

alan wrote:
> Autrefois, avec VB6, il suffisait de copier les bibliothèques dans
> %SYSTEMROOT%System32 pour que les programmes les trouvent. Avec
> VB.NET, cela ne fonctionne plus. Est-ce que quelqu'un sait comment
> faire pour désigner l'endroit ou se trouvent les bibliothèques de
> classe, si elles ne se trouvent pas dans le répertoire du programme?
> Merci par avance

Les assemblages .Net qui doivent être partagés entre différentes
applications doivent être installés dans le Global Assembly Cache (GAC),
soit par utilisation de l'outil GACUTIL (ligne de commande), soit par
simple glisser lâcher dans le répertoire WindowsAssembly.

Notez que pour pouvoir être installé dans le GAC, un assemblage doit
être pourvu d'un nom fort (strong name).

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr