Une question rapide: Lors de la déclaration de l'attribut DLLImport dans .Net, où le moteur d'exécution cherche-t-il à résoudre cette dépendance DLL? Dois-je vider la DLL et toutes les dépendances dans le dossier bin?Où DLLImport recherche-t-il les DLL non managées?
9
A
Répondre
8
Je pense qu'il fonctionne comme LoadLibrary.
Peut-être que Windows path searching in LoadLibrary with manifest sera utile.
ModifierDynamic-Link Library Search Order est probablement ce que vous voulez.
1
Généralement, vous vous attendez à ce qu'il regarde tout ce qui est défini dans le chemin de l'utilisateur.
Pour savoir ce que contient ce, à partir d'une invite de commande, tapez echo %PATH%
[Entrée]
Questions connexes
- 1. Symbole de données exporté dans les deux DLL malgré dllimport
- 2. DllImport Durée de l'instance
- 3. Vista DLLImport Problème C#
- 4. __declspec (dllimport/dllexport) et l'héritage
- 5. Est-il mauvais de charger plusieurs DLL managées sans utiliser aucun type?
- 6. Comment gérer un DllImport échoué?
- 7. code dll non géré
- 8. DllImport - attributs PreserverSig et SetLastError
- 9. Où dois-je mettre les DLL ATL pour qu'ils fonctionnent
- 10. DllImport avec différents points d'entrée (différentes DLL pour la même importation dans différents projets)
- 11. Où DLL interne à la boucle d'injection?
- 12. Où dois-je placer la DLL?
- 13. vs2008 problème de publication avec les DLLs non gérés
- 14. Fetch les lignes où le premier caractère non alphanumérique
- 15. Exception non gérée à 0x10012c5d (highgui110.dll)
- 16. Recherche d'une API dll non gérée?
- 17. Dans quelles conditions obtiendrez-vous le symbole externe non résolu pour __declspec (dllimport)?
- 18. sql: où sous-requête non null
- 19. Problème uniquement sous Vista (.net): appel dll non géré (Shell32.dll, fonction: SHEmptyRecycleBin) à partir du fil
- 20. Threading dans une DLL où la DLL doit retourner avant la fin du thread enfant
- 21. Comment utiliser DLLImport avec des structures comme paramètres dans C#?
- 22. Linq Select États - Où Non Dans
- 23. Fonction d'appel à partir de DLL avec un chemin non-statique
- 24. Énumérer les fonctions DLL?
- 25. Comment protéger les DLL?
- 26. C#: SetScrollPos (user32.dll)
- 27. Où le toolkit Silverlight 3 MSI met-il les fichiers DLL?
- 28. Après le déploiement via ClickOnce, où sont stockées les dll sur la machine cliente?
- 29. Contrôle hébergé .net utilisateur IE utilisant une DLL non managée
- 30. Où placer les méthodes GetObjectColletion?
Supposons que j'ai une application avec le sous-dossier Plugins. Dans Plugins, j'ai un assembly, qui utilise DllImport pour importer la fonction native à partir d'une DLL, qui est également dans ce dossier. Windows va-t-il regarder à l'intérieur de ce répertoire, ou est-ce seulement dans le dossier racine de l'application? – Spook
Cela dépend-il de la plate-forme cible du projet? Je demande parce que j'utilise 'DriverPackagePreinstall()' de 'DIFxAPI.dll' - si je compile en x86 ou" Any CPU ", cela ne fonctionne pas sur une machine 64 bits, mais si je compile en x64 cela fait . Selon les docs, une version 64 bits de la DLL est nécessaire, je ne peux que conclure qu'il utilise une DLL différente lors de la construction avec x64 par opposition à x86 – colmde