Fonctionnement des dépendances d'une application Visual C++Understanding the Dependencies of a Visual C++ Application

Pour déterminer les bibliothèques Visual C++ dont dépend une application, vous pouvez voir les propriétés du projet.To determine which Visual C++ libraries an application depends on, you can view the project properties. (Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis choisissez Propriétés pour ouvrir la boîte de dialogue Pages de propriétés.) Sur Windows 8 et versions antérieures, vous pouvez également utiliser le Dependency Walker (depends.exe), ce qui donne une image plus complète des dépendances.(In Solution Explorer, right-click on the project and choose Properties to open the Property Pages dialog box.) On Windows 8 and earlier, you can also use the Dependency Walker (depends.exe), which gives a more comprehensive picture of the dependencies. Pour les versions plus récentes de Windows le lucasg/dépendances outil fournit une fonctionnalité similaire (c’est un outil tiers ne pas garanti par Microsoft).For more recent versions of Windows the lucasg/Dependencies tool provides similar functionality (this is a third-party tool not guaranteed by Microsoft.)

Dans la boîte de dialogue Pages de propriétés, vous pouvez examiner différentes pages sous Propriétés de configuration pour comprendre les dépendances.In the Property Pages dialog box, you can examine various pages under Configuration Properties to understand the dependencies. Par exemple, si votre projet utilise les bibliothèques MFC et que vous choisissez Utilisation des MFC, Utiliser les MFC dans une DLL partagée dans la page Propriétés de configuration, Général, votre application au moment de l’exécution dépend d’une DLL MFC comme mfc<version>.dll.For example, if your project uses the MFC libraries and you choose Use of MFC, Use MFC in a Shared DLL on the Configuration Properties, General page, your application at run time depends on MFC DLLs such as mfc<version>.dll. Si votre application n’utilise pas MFC, elle peut encore dépendre de la bibliothèque CRT si vous choisissez pour la Bibliothèque Runtime la valeur DLL de débogage multithread (/MDd) ou DLL multithread (/MD) dans la page Propriétés de configuration, C/C++, Génération de code.If your application doesn't use MFC, it might depend on the CRT library if you choose a Runtime Library value of Multi-threaded Debug DLL (/MDd) or Multi-threaded DLL (/MD) on the Configuration Properties, C/C++, Code Generation page.

À l'aide de depends.exe, vous pouvez examiner la liste des DLL qui sont liées à l'application au moment du chargement, ainsi qu'une liste de ses DLL à chargement différé.By using depends.exe, you can examine a list of DLLs that are linked to the application at load time, and a list of its delay-loaded DLLs. Si vous souhaitez obtenir la liste complète des DLL qui sont chargées dynamiquement au moment de l'exécution, vous pouvez utiliser la fonctionnalité de profilage dans depends.exe pour tester l'application jusqu'à ce que vous soyez certain que tous les chemins de code ont été testés.If you want to get a complete list of DLLs that are dynamically loaded at run time, you can use the profiling feature in depends.exe to test the application until you're sure that all code paths have been exercised. Une fois la session de profilage terminée, depends.exe indique quelles DLL ont été chargées dynamiquement au moment de l'exécution.When you end the profiling session, depends.exe shows which DLLs were dynamically loaded during run time.

Lorsque vous utilisez depends.exe, notez qu'une DLL peut être dépendante d'une autre DLL ou d'une version d'une DLL spécifique.When you use depends.exe, be aware that a DLL might have a dependency on another DLL or on a specific version of a DLL. Vous pouvez utiliser depends.exe soit sur l'ordinateur de développement, soit sur un ordinateur cible.You can use depends.exe on either the development computer or on a target computer. Sur l'ordinateur de développement, depends.exe signale les DLL requises pour prendre en charge une application.On the development computer, depends.exe reports the DLLs that are required to support an application. Si vous rencontrez des problèmes pour exécuter une application sur un ordinateur cible, vous pouvez copier depends.exe sur celui-ci, puis ouvrir l'application dans l'outil afin que vous puissiez déterminer quelles DLL obligatoires manquent ou sont incorrectes.If you have trouble getting an application to run on a target computer, you can copy depends.exe to it and then open the application in the tool so that you can determine whether any required DLLs are missing or incorrect.

Lorsque vous disposez de la liste complète des DLL dont dépend votre application, vous pouvez déterminer celles que vous devez redistribuer avec votre application lors du déploiement vers un autre ordinateur.When you know which DLLs your application depends on, you can determine the ones that you have to redistribute with your application when you deploy it to another computer. Dans la plupart des cas, vous n’avez pas besoin de redistribuer les DLL système, mais vous devez peut-être redistribuer les DLL des bibliothèques Visual C++.In most cases, you don't have to redistribute system DLLs, but you may have to redistribute DLLs for Visual C++ libraries. Pour plus d’informations, consultez Détermination des DLL à redistribuer.For more information, see Determining Which DLLs to Redistribute.

Voir aussiSee also

Déploiement des applications de bureauDeploying Desktop Applications