Bonjour à tous,

J'ai un problème sur lequel je m'arrache les cheveux depuis 2 jours : j'ai une librairie complexe mixte C++ managé / C++ natif. Cette librairie se compile en DLL managée.

Elle est utilisée par mon appli principale, qui est en C# pur. Je développe avec Visual Studio 2003 sous le framework 1.1. J'ai donc ajouté dans mon appli C# une dépendance sur la librairie C++ via l'explorateur de solution.

Sous Windows XP, tout se passe normalement et j'utilise ma librairie autant que je veux. Sous 2000 c'est une autre histoire : l'appli plante directement avec l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
C:\temp>buggedapp
 
Exception non gérée : System.IO.FileNotFoundException: Le fichier ou l'assembly nommé HipponNativeCodeWrappers ou l'une de ses dép
endances, est introuvable.
Nom du fichier : "HipponNativeCodeWrappers"
   at buggedapp.Class1.Main(String[] args)
 
=== Pre-bind state information ===
LOG: DisplayName = HipponNativeCodeWrappers, Version=1.0.2216.29312, Culture=neutral, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = C:\temp\
LOG: Initial PrivatePath = NULL
Calling assembly : buggedapp, Version=1.0.2216.29312, Culture=neutral, PublicKeyToken=null.
===
 
LOG: Application configuration file does not exist.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: HipponNativeCodeWrappers, Version=1.0.2216.29312, Culture=neutral, PublicKeyToken=null
LOG: Attempting download of new URL file:///C:/temp/HipponNativeCodeWrappers.DLL.
Inutile de préciser que la libraire est bien présente dans le repertoire cité, et qu'elle a le bon nom...

Si, dans mon appli C#, je ne fais aucun appel à la libraire, tout s'éxecute correctement. Mais si je fais un appel, l'appli plante tout de suite avant même de rentrer dans le main(), et donc bien avant le code qui rentre dans la librairie.

Est ce que quelqu'un a déjà entendu parler de ce problème ?