J'utilise Visual Studio 2017 et Windows 10. J'ai reçu deux solutions de mon professeur à l'université. Je ne sais pas dans quel studio visuel et sur quel OS il a été codé. L'un d'eux est la solution qui contient deux projets (code source dll et code pour tester les fonctions en dll). La deuxième solution contient le projet d'application. Lorsque j'exécute ma première solution, je crée un fichier dll en mode Release et je le teste également. Tout fonctionne bien et le code source est bien. Mais lorsque j'exécute une deuxième solution dans laquelle j'inclus la fonctionnalité du fichier dll à l'aide de DllImport, j'ai une erreur qui me dit "'Impossible de charger la DLL' file.dll ': l'application n'a pas pu démarrer car sa configuration côte à côte est incorrecte . Consultez le journal des événements de l'application ou utilisez l'outil de ligne de commande sxstrace.exe pour plus de détails. "

J'ai reçu des informations d'erreur à l'aide de l'Observateur d'événements "L'assembly dépendant Microsoft.VC90.DebugCRT, processorArchitecture =" x86 ", publicKeyToken =" 1fc8b3b9a1e18e3b ", type =" win32 ", version =" 9.0.21022.8 "est introuvable.". J'ai donc réalisé que le package redistribuable Visual C ++ 9.0.21022.8 me manquait. Bien sûr, je l'ai installé et à l'occasion quelques autres versions. Malheureusement, cela ne m'a pas aidé.

Cela me semble très bizarre. Tout d'abord, je peux compiler et exécuter le code source de la DLL, mais je ne peux pas l'inclure dans un autre projet. Je pense que cela peut être dû à certaines propriétés de la solution / du projet dans la DLL ou l'application, mais je ne trouve pas ce que je pourrais changer. J'ai essayé de modifier les propriétés du fichier source Solution-> Debug car il y avait des chemins vers les dossiers Visual Studio 9.0 / VC que je n'ai pas, je l'ai donc changé pour mes chemins Visual Studio 10.0 / VC mais cela ne m'a pas aidé non plus.

Que pouvais-je faire d'autre?

-1
Qwertyluk 3 nov. 2019 à 14:55

1 réponse

Meilleure réponse

Vous avez probablement installé les redistribuables x64 (64 bits) et il vous manque les redistribuables x86 (32 bits). Vous devez les télécharger séparément. Si vous avez les deux, vous avez probablement établi un lien avec la version 64 bits au lieu de la version 32 bits.

-1
Shloim 3 nov. 2019 à 13:21