DllImport

coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010 - 16 juin 2006 à 11:59
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010 - 16 juin 2006 à 15:08
Bonjour,
J'appelle une dll  avec le code suivant :

<DllImport("MyExtract")> _

Public
Shared
Sub _extractZ(
ByVal c1()
As
Char,
ByVal c2()
As
Char)

End
Sub

Sur mon serveur local tout fonctionne mais sur le serveur ou sont hébergés mes sites j'ai l'erreur suivante : Unable to load DLL (MyExtract).<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /?>

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.DllNotFoundException: Unable to load DLL (MyExtract).

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

 

[DllNotFoundException: Unable to load DLL (MyExtract).]

   DecompZip1.Extract._extractZ(Char[] c1, Char[] c2) +0

   DecompZip1.Extract.decompress(String& directoryName, FileInfo& file) in F:\Mes documents\Visual Studio.NET\sources\DecompZip1\Extract.vb:66

   DecompZip1.Extract.extract(String dir) in F:\Mes documents\Visual Studio.NET\sources\DecompZip1\Extract.vb:27

   groupekayser.RecupTXT21.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\groupekayser\RecupTXT2.aspx.vb:48

   System.Web.UI.Control.OnLoad(EventArgs e) +67

   System.Web.UI.Control.LoadRecursive() +35

   System.Web.UI.Page.ProcessRequestMain() +750

Les paths indiqués sur la page d'erreur correspondent à mon serveur local alors que je suis sur le serveur de déploiement. Le chemin de ma DLL sur ce serveur devrait être :
E:\Inetpub\wwwroot\locomotion\Clients\groupekayser\bin\MyExtract.dll

Comment faire pour indiquer le chemin de ma DLL dans la fonction
<DllImport("MyExtract")> _

Merci encore

Thierry

5 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 juin 2006 à 13:43
Bonjour,

les path indiqués dans le message d'erreur sont l'emplacement des fichiers de code et sont contenus dans le .pdb cela est du que t'as pas compilé en mode release (pas bien) et et ces information servent pour VS afin de mettre des points d'arrets ... 

Je n'ai rarement eu l'ocasion de tester ce dllimport mais es tu sur que tu dois pas l'enregistrer dans la bdr (avec regserv32) sinon es tu sur de ne pas avoir cette dll ailleurs sur ta machine de dev ?

<hr />Cyril - MVS - MCP
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
16 juin 2006 à 14:13
Pour La compile en release c'est ok (merci du renseignement car je compile tout en mode debug et je transfert le tout sur mon serveur de deploiement.)

L'erreur est la suivante maintenant :

Unable to load DLL (MyExtract).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.DllNotFoundException: Unable to load DLL (MyExtract).

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

[DllNotFoundException: Unable to load DLL (MyExtract).]
DecompZip1.Extract._extractZ(Char[] c1, Char[] c2) +0
DecompZip1.Extract.decompress(String&amp; directoryName, FileInfo&amp; file) +102
DecompZip1.Extract.extract(String dir) +137
groupekayser.RecupTXT21.Page_Load(Object sender, EventArgs e) +287
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750



en effet sur mon serveur de developpement j'ai la dll à d'autres endroits!

je vais essayer de l'enregistrer dans la brd avec regserv32.
je te tiens au courant

Thierry
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
16 juin 2006 à 14:38
J'essai d'enregistrer ma dll mais j'ai l'erreur suivante :

C:\myextract.dll a été chargé mais le point d’entrée DllUnregisterServer est introuvable. Ce fichier ne peut pas être enregistré.

ma syntaxe est la suivante : regserv32 -u c:\myextract.dll

Thierry
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
16 juin 2006 à 14:58
-u comme pour uninstall ? essaye peut être un -i comme install ;-) mais la je connais pas le mode de fonctionnement de ces choses obscures :s

<hr />Cyril - MVS - MCP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
16 juin 2006 à 15:08
J'ai essayé ceci regsvr32 -1 c:\myextract.dll
j'ai toujours la même erreur ?
Je vais chercher sur le net
Merci encore

Thierry
0
Rejoignez-nous