DllImport

Signaler
Messages postés
121
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
24 juin 2010
-
Messages postés
121
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
24 juin 2010
-
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

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
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
Messages postés
121
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
24 juin 2010

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
Messages postés
121
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
24 juin 2010

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
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
-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
Messages postés
121
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
24 juin 2010

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