Guide pratique pour ajouter ou supprimer des références à l’aide du Gestionnaire de référencesHow to: Add or remove references by using the Reference Manager

Vous pouvez utiliser la boîte de dialogue Gestionnaire de références pour ajouter et gérer des références aux composants développés par vous, par Microsoft ou par une autre société.You can use the Reference Manager dialog box to add and manage references to components that you, Microsoft, or another company developed. Si vous développez une application Windows universelle, votre projet référence automatiquement toutes les DLL correctes du kit SDK Windows.If you're developing a Universal Windows app, your project automatically references all of the correct Windows SDK DLLs. Si vous développez une application .NET, votre projet référence automatiquement mscorlib.dll.If you are developing a .NET application, your project automatically references mscorlib.dll. Certaines API .NET sont exposées dans des composants que vous devez ajouter manuellement.Some .NET APIs are exposed in components that you have to add manually. Les références à des composants COM ou à des composants personnalisés doivent être ajoutées manuellement.References to COM components or custom components have to be added manually.

Boîte de dialogue Gestionnaire de référencesReference Manager dialog box

La boîte de dialogue Gestionnaire de références affiche différentes catégories sur le côté gauche, en fonction du type de projet :The Reference Manager dialog box shows different categories on the left side, depending on the project type:

  • Assemblys, avec les sous-groupes Framework et Extensions.Assemblies, with the Framework and Extensions subgroups.

  • COM répertorie tous les composants COM pouvant être référencés.COM, lists all COM components that are available for referencing.

  • Solution, avec le sous-groupe Projets.Solution, with the Projects subgroup.

  • Windows, avec les sous-groupes Principal et Extensions.Windows, with the Core and Extensions subgroups. Vous pouvez explorer les références dans le SDK Windows ou les SDK de l’extension à l’aide de l’Explorateur d’objets.You can explore the references in the Windows SDK or extension SDKs by using the Object Browser.

  • Parcourir, avec le sous-groupe Récent.Browse, with the Recent subgroup.

Ajouter et supprimer une référenceAdd and remove a reference

Pour ajouter une référenceTo add a reference

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références ou Dépendances, puis choisissez Ajouter une référence.In Solution Explorer, right-click on the References or Dependencies node and choose Add Reference. Vous pouvez également cliquer avec le bouton droit sur le nœud de projet, et sélectionner Ajouter > Référence.You can also right-click on the project node and select Add > Reference.

    Le Gestionnaire de références s’ouvre et affiche la liste des références disponibles par groupe.Reference Manager opens and lists the available references by group.

  2. Spécifiez les références à ajouter, puis sélectionnez OK.Specify the references to add, and then select OK.

Onglet AssemblysAssemblies tab

L’onglet Assemblys répertorie tous les assemblys .NET Framework qui sont disponibles pour le référencement.The Assemblies tab lists all .NET Framework assemblies that are available for referencing. L’onglet Assemblys ne répertorie pas les assemblys du Global Assembly Cache (GAC), car ceux-ci appartiennent à l’environnement d’exécution.The Assemblies tab doesn't list any assemblies from the global assembly cache (GAC) because assemblies in the GAC are part of the run-time environment. Si vous déployez ou copiez une application qui contient une référence à un assembly inscrit dans le GAC, cet assembly n’est ni déployé ni copié avec l’application, quelle que soit la valeur du paramètre Copie locale.If you deploy or copy an application that contains a reference to an assembly that's registered in the GAC, the assembly won't be deployed or copied with the application, regardless of the Copy Local setting. Pour plus d’informations, consultez Gérer les références dans un projet.For more information, see Manage references in a project.

Quand vous ajoutez manuellement une référence à l’un des espaces de noms EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a ou EnvDTE100), affectez la valeur False à la propriété Incorporer les types interop, dans la fenêtre Propriétés.When you manually add a reference to any of the EnvDTE namespaces (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a, or EnvDTE100), set the Embed Interop Types property of the reference to False in the Properties window. Si cette propriété a la valeur True, des problèmes de génération peuvent survenir car certaines propriétés EnvDTE ne peuvent pas être incorporées.Setting this property to True can cause build issues because of certain EnvDTE properties that can't be embedded.

Tous les projets d’application de bureau contiennent une référence implicite à mscorlib.All desktop projects contain an implicit reference to mscorlib. Les projets Visual BasicVisual Basic contiennent une référence implicite à Microsoft.VisualBasic.Visual BasicVisual Basic projects contain an implicit reference to Microsoft.VisualBasic. Tous les projets contiennent une référence implicite à System.Core, même s’il est supprimé de la liste des références.All projects contain an implicit reference to System.Core, even if it's removed from the list of references.

Si un type de projet ne prend pas en charge les assemblys, l’onglet ne s’affiche pas dans la boîte de dialogue Gestionnaire de références.If a project type doesn't support assemblies, the tab won't appear in the Reference Manager dialog box.

L’onglet Assemblys comprend deux sous-onglets :The Assemblies tab consists of two sub-tabs:

  1. Framework liste tous les assemblys qui constituent le framework ciblé.Framework lists all assemblies that constitute the targeted framework.

    Les projets d’application de Store Windows 8.x contiennent des références à tous les assemblys du .NET pour les applications Windows 8.x.NET for Windows 8.x apps ciblé par défaut au moment de la création du projet.Projects for Windows 8.x Store apps contain references to all of the assemblies in the targeted .NET pour les applications Windows 8.x.NET for Windows 8.x apps by default on project creation. Dans les projets managés, un nœud en lecture seule dans le dossier Références de l’Explorateur de solutions indique la référence à l’intégralité du framework.In managed projects, a read-only node under the References folder in Solution Explorer indicates the reference to the entire framework. Ainsi, l’onglet Framework n’énumère aucun des assemblys du framework. Il affiche à la place le message suivant : « Tous les assemblys du framework sont déjà référencés.Accordingly, the Framework tab won't enumerate any of the assemblies from the framework and instead display the following message: "All of the Framework assemblies are already referenced. Utilisez l’Explorateur d’objets pour explorer les références dans le Framework. ».Please use the Object Browser to explore the references in the Framework." Pour les projets d’application de bureau, l’onglet Framework énumère les assemblys du framework ciblé. De plus, l’utilisateur doit ajouter les références nécessaires à l’application.For desktop projects, the Framework tab enumerates assemblies from the targeted framework, and the user must add the references that the application requires.

  2. Extensions liste tous les assemblys que les fournisseurs externes de composants et de contrôles ont développés pour étendre le framework ciblé.Extensions lists all assemblies that external vendors of components and controls have developed to extend the targeted framework. Selon l'objectif de l'application utilisateur, ces assemblys peuvent être nécessaires.Depending on the purpose of the user application, it might need these assemblies.

    Les extensions sont remplies à partir de l’énumération des assemblys inscrits dans les emplacements suivants :Extensions is populated by enumerating the assemblies that are registered in the following locations:

    Machine 32 bits :32-bit machine:

    • HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]

    Machine 64 bits :64-bit machine:

    • HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]

    Et les anciennes versions de [identificateur du framework cible]And older versions of the [Target Framework Identifier]

    Par exemple, si un projet cible .NET Framework 4 sur une machine 32 bits, les extensions énumèrent les assemblys inscrits sous \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx et \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.For example, if a project targets the .NET Framework 4 on a 32-bit machine, Extensions will enumerate assemblies that are registered under \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx, and \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.

Selon la version du .NET Framework de votre projet, certains composants de la liste peuvent ne pas être affichés.Some components in the list may not be shown, depending on the .NET Framework version of your project. Cela peut se produire dans les conditions suivantes :This can occur under the following conditions:

  • Un composant qui utilise une version récente du .NET Framework est incompatible avec un projet qui cible une version antérieure du .NET Framework.A component that uses a recent version of the .NET Framework is incompatible with a project that targets an earlier version of the .NET Framework.

    Pour plus d’informations sur le changement de la version cible du .NET Framework d’un projet, consultez Guide pratique pour cibler une version du .NET Framework.For information about how to change the target .NET Framework version for a project, see How to: Target a version of the .NET Framework.

  • Un composant qui utilise le .NET Framework 4.NET Framework 4 est incompatible avec un projet qui cible le .NET Framework 4.5.NET Framework 4.5.A component that uses .NET Framework 4.NET Framework 4 is incompatible with a project that targets the .NET Framework 4.5.NET Framework 4.5.

    Lorsque vous créez une application, certains projets ciblent le .NET Framework 4.5.NET Framework 4.5 par défaut.When you create a new application, some projects target the .NET Framework 4.5.NET Framework 4.5 by default.

  • Évitez si possible d'ajouter des références de fichier aux sorties d'un autre projet de la même solution, car cela risquerait de provoquer des erreurs de compilation.You should avoid adding file references to outputs of another project in the same solution, because doing this may cause compilation errors. Utilisez l’onglet Projets de la boîte de dialogue Ajouter une référence afin de créer des références entre projets.Instead, use the Projects tab of the Add Reference dialog box to create project-to-project references. Cela facilite le développement en équipe, en permettant une meilleure gestion des bibliothèques de classes créées dans vos projets.This makes team development easier by enabling better management of the class libraries you create in your projects. Pour plus d’informations, consultez Dépanner des références rompues.For more information, see Troubleshoot broken references.

Note

Dans Visual Studio 2015 ou version ultérieure, une référence de fichier est créée au lieu d’une référence de projet si la version cible du .NET Framework d’un projet est la version 4.5 ou ultérieure et que la version cible du de l’autre projet est 2, 3, 3.5 ou 4.0.In Visual Studio 2015 or later, a file reference instead of a project reference is created if the target version of the .NET Framework of one project is version 4.5 or later, and the target version of the other project is version 2, 3, 3.5, or 4.0.

Pour afficher un assembly dans la boîte de dialogue Ajouter une référenceTo display an assembly in the Add Reference dialog box

  • Déplacez ou copiez l'assembly vers l'un des emplacements suivants :Move or copy the assembly to one of the following locations:

    • Le répertoire de projet actuelThe current project directory. (vous pouvez rechercher ces assemblys via l’onglet Parcourir ).(You can find these assemblies by using the Browse tab.)

    • Autres répertoires de projet de la même solutionOther project directories in the same solution. (vous pouvez rechercher ces assemblys à l’aide de l’onglet Projets)(You can find these assemblies by using the Projects tab.)

      - ou -- or -

  • Définissez une clé de Registre qui spécifie l'emplacement des assemblys à afficher :Set a registry key that specifies the location of assemblies to display:

    Sur un système d'exploitation 32 bits, ajoutez l'une des clés de Registre suivantes :For a 32-bit operating system, add one of the following registry keys.

    • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

      Sur un système d'exploitation 64 bits, ajoutez l'une des clés de Registre suivantes dans une ruche du Registre 32 bits :For a 64-bit operating system, add one of the following registry keys in a 32-bit registry hive.

    • [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

      <VersionMinimum> représente la version la plus ancienne du .NET Framework pouvant s’appliquer.<VersionMinimum> is the lowest .NET Framework version that applies. Si <VersionMinimum> a la valeur v3.0, les dossiers spécifiés dans AssemblyFoldersEx s’appliquent aux projets qui ciblent .NET Framework 3.0 et les versions ultérieures.If <VersionMinimum> is v3.0, folders specified in AssemblyFoldersEx apply to projects that target .NET Framework 3.0 and later.

      <AssemblyLocation> correspond au répertoire des assemblys que vous souhaitez voir figurer dans la boîte de dialogue Ajouter une référence (par exemple C:\MyAssemblies).<AssemblyLocation> is the directory of the assemblies that you want to appear in the Add Reference dialog box, for example, C:\MyAssemblies.

      La création de la clé de Registre sous le nœud HKEY_LOCAL_MACHINE permet à tous les utilisateurs de voir les assemblys à l’emplacement spécifié dans la boîte de dialogue Ajouter une référence.Creating the registry key under the HKEY_LOCAL_MACHINE node allows all users to see the assemblies in the specified location in the Add Reference dialog box. La création de la clé de Registre sous le nœud HKEY_CURRENT_USER affecte uniquement le paramètre de l’utilisateur actuel.Creating the registry key under the HKEY_CURRENT_USER node affects only the setting for the current user.

      Rouvrez la boîte de dialogue Ajouter une référence.Open the Add Reference dialog box again. Les assemblys doivent apparaître sous l’onglet .NET. Si ce n’est pas le cas, vérifiez que les assemblys se trouvent dans le répertoire AssemblyLocation spécifié, redémarrez Visual Studio, puis réessayez.The assemblies should appear on the .NET tab. If they do not, make sure that the assemblies are located in the specified AssemblyLocation directory, restart Visual Studio, and try again.

Onglet ProjetsProjects tab

L’onglet Projets liste tous les projets compatibles de la solution actuelle, sous le sous-onglet Solution.The Projects tab lists all compatible projects within the current solution, in the Solution sub-tab.

Un projet peut faire référence à un autre projet qui cible une version différente du .NET Framework.A project can reference another project that targets a different version of the .NET Framework. Par exemple, vous pouvez créer un projet qui cible .NET Framework 4.NET Framework 4 mais qui référence un assembly qui est généré pour .NET Framework 2.For example, you could create a project that targets the .NET Framework 4.NET Framework 4 but that references an assembly that's been built for the .NET Framework 2. Toutefois, le projet .NET Framework 2 ne peut pas référencer un projet .NET Framework 4.NET Framework 4.However, the .NET Framework 2 project can't reference a .NET Framework 4.NET Framework 4 project. Pour plus d’informations, consultez Vue d’ensemble du multiciblage.For more information, see Multi-targeting overview.

Un projet qui cible le .NET Framework 4.NET Framework 4 est incompatible avec un projet qui cible le .NET Framework 4 Client Profile.A project that targets the .NET Framework 4.NET Framework 4 is incompatible with a project that targets the .NET Framework 4 Client Profile.

Une référence de fichier est créée au lieu d’une référence de projet si un projet cible le .NET Framework 4 et qu’un autre projet cible une version antérieure.A file reference is created instead of a project reference if one project targets the .NET Framework 4 and another project targets an earlier version.

Un projet qui cible .NET pour les applications Windows 8.x.NET for Windows 8.x apps ne peut pas ajouter de référence de projet à un projet qui cible le .NET Framework, et vice versa.A project that targets .NET pour les applications Windows 8.x.NET for Windows 8.x apps can't add a project reference to a project that targets the .NET Framework, and vice versa.

Onglet WindowsWindows tab

L’onglet Windows liste tous les kits SDK spécifiques aux plateformes sur lesquelles s’exécutent les systèmes d’exploitation Windows.The Windows tab lists all SDKs that are specific to platforms on which Windows operating systems run.

Vous pouvez générer un fichier WinMD dans Visual Studio de deux façons :You can generate a WinMD file in Visual Studio in two ways:

  • Projets managés d’applications de Store Windows 8.x : pour permettre aux projets d’application de Store Windows 8.x de générer des fichiers binaires WinMD, définissez Propriétés du projet > Type de sortie = fichier WinMD.Windows 8.x Store app managed projects: Windows 8.x Store app projects can output WinMD binaries by setting Project Properties > Output Type = WinMD File. Le nom de fichier WinMD doit être l'espace de noms du sur-ensemble de tous les espaces de noms qui existent dans celui-ci.The WinMD filename must be the superset namespace of all the namespaces that exist within it. Par exemple, si un projet comprend les espaces de noms A.B et A.B.C, les noms possibles du WinMD généré sont A.winmd et A.B.winmd.For example, if a project consists of namespaces A.B and A.B.C, the possible names for its outputted WinMD are A.winmd and A.B.winmd. Si un utilisateur entre une valeur Propriétés de projet > Nom d’assembly ou Propriétés de projet > Espace de noms, qui est disjointe de l’ensemble d’espaces de noms du projet, ou s’il n’existe aucun espace de noms de sur-ensemble dans un projet, un avertissement de build est généré : « 'A.winmd' n’est pas un nom de fichier .winmd valide pour cet assembly. »If a user enters a Project Properties > Assembly Name or Project Properties > Namespace value that's disjoint from the set of namespaces in the project or there is no superset namespace within a project, a build warning is generated: "'A.winmd' isn't a valid .winmd file name for this assembly." Tous les types compris dans un fichier de métadonnées Windows doivent se trouver dans un sous-espace de noms du nom du fichier.All types within a Windows Metadata file must exist in a sub namespace of the file name. Les types qui n’existent pas dans un sous espace de noms du nom de fichier ne peuvent pas être localisés lors de l’exécution.Types that don't exist in a sub namespace of the file name won't be able to be located at runtime. Dans cet assembly, le plus petit espace de noms commun est CSWSClassLibrary1.In this assembly, the smallest common namespace is CSWSClassLibrary1. Un projet Visual Basic ou C# d’application de bureau peut uniquement consommer des WinMD générés à l’aide de SDK Windows 8 (appelés WinMD internes), et ne peut pas générer de WinMD.A desktop Visual Basic or C# project can only consume WinMDs that are generated by using the Windows 8 SDKs, which are known as first-party WinMDs, and can't generate WinMDs.

  • Projets d’application de Store Windows 8.x au format natif : un fichier WinMD natif comprend uniquement des métadonnées.Windows 8.x Store app native projects: A native WinMD file consists of only metadata. Son implémentation existe dans un fichier DLL distinct.Its implementation exists in a separate DLL file. Il est possible de produire des binaires natifs en choisissant le modèle de projet Composant Windows Runtime dans la boîte de dialogue Nouveau projet ou en partant d’un projet vide et en modifiant les propriétés du projet pour générer un fichier WinMD.One can produce native binaries by choosing the Windows Runtime Component project template in the New Project dialog box or by starting from a blank project and modifying the project properties to generate a WinMD file. Si le projet se compose d'espaces de noms disjoints, une erreur de build indique à l'utilisateur de combiner les espaces de noms ou d'exécuter l'outil MSMerge.If the project consists of disjoint namespaces, a build error will tell the user to combine their namespaces or run the MSMerge tool.

L’onglet Windows comprend deux sous-groupes.The Windows tab consists of two subgroups.

Sous-groupe PrincipalCore subgroup

Le sous-groupe Principal liste tous les WinMD (pour les éléments Windows Runtime) du kit SDK de la version cible de Windows.The Core subgroup lists all of the WinMDs (for Windows Runtime elements) in the SDK for the targeted version of Windows.

Les projets d’application de Store Windows 8.x contiennent des références à tous les WinMD du SDK Windows 8 par défaut au moment de la création du projet.Windows 8.x Store app projects contain references to all of the WinMDs in the Windows 8 SDK by default on project creation. Dans les projets managés, un nœud en lecture seule dans le dossier Références de l’Explorateur de solutions indique la référence à l’intégralité du kit SDK Windows 8.In managed projects, a read-only node under the References folder in Solution Explorer indicates the reference to the entire Windows 8 SDK. Ainsi, le sous-groupe Principal du Gestionnaire de références n’énumère pas les assemblys du kit SDK Windows 8. Il affiche à la place le message : « Le Kit de développement logiciel Windows est déjà référencé.Accordingly, the Core subgroup in the Reference Manager won't enumerate any of the assemblies from the Windows 8 SDK and instead displays a message: "The Windows SDK is already referenced. Utilisez l’Explorateur d’objets pour explorer les références dans le SDK Windows. ».Please use the Object Browser to explore the references in the Windows SDK."

Dans les projets d’application de bureau, le sous-groupe Principal ne s’affiche pas par défaut.In the desktop projects, the Core subgroup doesn't appear by default. Vous pouvez ajouter le Windows Runtime en ouvrant le menu contextuel du nœud du projet, en choisissant Décharger le projet, en ajoutant l’extrait de code suivant, et en rouvrant le projet (sur le nœud du projet, choisissez Recharger le projet).You can add the Windows Runtime by opening the shortcut menu for the project node, choosing Unload Project, adding the following snippet, and re-opening the project (on the project node, choose Reload Project). Quand vous appelez la boîte de dialogue Gestionnaire de références, le sous-groupe Principal s’affiche.When you invoke the Reference Manager dialog box, the Core subgroup appears.

<PropertyGroup>
  <TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>

Cochez bien la case Windows sur ce sous-groupe.Make sure to select the Windows check box on this subgroup. Vous devriez ensuite pouvoir utiliser les éléments Windows Runtime.You should then be able to use Windows Runtime elements. Toutefois, vous devez également ajouter System.Runtime, dans lequel Windows Runtime définit certaines classes et interfaces standard, par exemple IEnumerable, qui sont utilisées dans l’ensemble des bibliothèques Windows Runtime.However, you'll also want to add System.Runtime, in which the Windows Runtime defines some standard classes and interfaces, such as IEnumerable, that are used throughout the Windows Runtime libraries. Pour plus d’informations sur l’ajout de System.Runtime, consultez Applications de bureau managées et Windows Runtime.For information about how to add System.Runtime, see Managed desktop apps and Windows Runtime.

Sous-groupe ExtensionsExtensions subgroup

Les extensions listent les kits SDK utilisateur qui étendent la plateforme Windows ciblée.Extensions lists the user SDKs that extend the targeted Windows platform. Cet onglet s’affiche uniquement pour les projets d’application de Store Windows 8.x.This tab appears for Windows 8.x Store app projects only. Les projets d’application de bureau n’affichent pas cet onglet, car ils peuvent consommer uniquement les fichiers .winmd internes.Desktop projects won't show this tab because they can consume only first-party .winmd files.

Un kit SDK est une collection de fichiers que Visual Studio traite comme un seul composant.An SDK is a collection of files that Visual Studio treats as a single component. Sous l’onglet Extensions, les kits SDK qui s’appliquent au projet à partir duquel la boîte de dialogue Gestionnaire de références a été appelée sont listés sous forme d’entrées uniques.In the Extensions tab, SDKs that apply to the project from which the Reference Manager dialog box was invoked are listed as single entries. Une fois ajouté à un projet, tout le contenu du kit SDK est utilisé par Visual Studio afin que l’utilisateur n’ait rien d’autre à faire pour l’exploiter dans IntelliSense, la boîte à outils, les concepteurs, l’Explorateur d’objets, la création, le déploiement, le débogage et l’empaquetage.When added to a project, all of the SDK content is consumed by Visual Studio such that the user doesn't need to take any further actions to leverage the SDK contents in IntelliSense, toolbox, designers, Object Browser, build, deployment, debugging, and packaging. Pour plus d’informations sur l’affichage de votre kit SDK sous l’onglet Extensions, consultez Création d’un kit SDK.For information about how to display your SDK in the Extensions tab, see Creating a Software Development Kit.

Note

Si un projet référence un kit SDK qui dépend d’un autre kit SDK, Visual Studio n’utilise pas le second kit à moins que l’utilisateur ajoute manuellement une référence à celui-ci.If a project references an SDK that depends on another SDK, Visual Studio won't consume the second SDK unless the user manually adds a reference to the second SDK. Quand un utilisateur choisit un SDK sous l’onglet Extensions, la boîte de dialogue Gestionnaire de références l’aide à identifier les dépendances du SDK en répertoriant non seulement le nom et la version du SDK, mais également le nom de toutes les dépendances du SDK dans le volet d’informations.When a user chooses an SDK on the Extensions tab, the Reference Manager dialog box helps the user identify SDK dependencies by listing not only the name and version of the SDK but also the name of any SDK dependencies in the details pane. Si un utilisateur ne remarque pas les dépendances et ajoute uniquement ce kit SDK, MSBuild l’invite à ajouter les dépendances.If a user doesn't notice the dependencies and only adds that SDK, MSBuild will prompt the user to add the dependencies.

Si un type de projet ne prend pas en charge les extensions, l’onglet ne s’affiche pas dans la boîte de dialogue Gestionnaire de références.If a project type doesn't support extensions, the tab doesn't appear in the Reference Manager dialog box.

Onglet COMCOM tab

L’onglet COM liste tous les composants COM pouvant être référencés.The COM tab lists all COM components that are available for referencing. Si vous souhaitez ajouter une référence à une DLL COM inscrite qui contient un manifeste interne, annulez d'abord l'inscription de la DLL.If you want to add a reference to a registered COM DLL that contains an internal manifest, unregister the DLL first. Sinon, Visual Studio ajoute la référence d’assembly en tant que contrôle ActiveX, et non en tant que DLL native.Otherwise, Visual Studio adds the assembly reference as an ActiveX control instead of as a native DLL.

Si un type de projet ne prend pas en charge COM, l’onglet ne s’affiche pas dans la boîte de dialogue Gestionnaire de références.If a project type doesn't support COM, the tab doesn't appear in the Reference Manager dialog box.

Bouton ParcourirBrowse button

Vous pouvez utiliser le bouton Parcourir pour rechercher un composant dans le système de fichiers.You can use the Browse button to browse for a component in the file system.

Un projet peut faire référence à un composant qui cible une version différente du .NET Framework.A project can reference a component that targets a different version of the .NET Framework. Par exemple, vous pouvez créer une application qui cible le .NET Framework 4.7, qui référence un composant qui cible le .NET Framework 4.For example, you could create an application that targets the .NET Framework 4.7, which references a component that targets the .NET Framework 4. Pour plus d’informations, consultez Vue d’ensemble du multiciblage.For more information, see Multi-targeting overview.

Évitez, si possible, d'ajouter des références de fichier aux sorties d'un autre projet de la même solution, car cela risquerait de provoquer des erreurs de compilation.You should avoid adding file references to outputs of another project in the same solution, because this tactic may cause compilation errors. Utilisez plutôt l’onglet Solution de la boîte de dialogue Gestionnaire de références afin de créer des références entre projets.Instead, use the Solution tab of the Reference Manager dialog box to create project-to-project references. Cela facilite le développement en équipe, en permettant une meilleure gestion des bibliothèques de classes créées dans vos projets.This makes team development easier by enabling better management of the class libraries that you create in your projects. Pour plus d’informations, consultez Dépanner des références rompues.For more information, see Troubleshoot broken references.

Vous ne pouvez pas accéder à un kit SDK et l’ajouter à votre projet.You can't browse to an SDK and add it to your project. Vous pouvez uniquement rechercher un fichier (par exemple un assembly ou un fichier .winmd) et l’ajouter à votre projet.You can only browse to a file (for example, an assembly or .winmd) and add it to your project.

Quand vous faites référence à un fichier WinMD, la disposition attendue est la suivante : tous les fichiers .winmd, .dll et .pri sont placés les uns à côté des autres.When doing a file reference to a WinMD, the expected layout is that the .winmd, .dll, and .pri files are all placed alongside each other. Si vous référencez un fichier WinMD dans les scénarios suivants, un ensemble incomplet de fichiers est copié dans le répertoire de sortie du projet et, par conséquent, des erreurs de rendu et d'exécution se produisent.If you reference a WinMD in the following scenarios, an incomplete set of files will be copied into the project output directory and, consequently, build and runtime failures will occur.

  • Composant natif : un projet natif crée un fichier WinMD pour chaque ensemble d’espaces de noms disjoint et une DLL qui contient l’implémentation.Native component: a native project will create one WinMD for each disjoint set of namespaces and one DLL that consists of the implementation. Les WinMD auront des noms disparates.The WinMDs will have disparate names. En référençant ce fichier de composant natif, MSBuild ne détecte pas que les WinMD nommés différemment constituent un même composant.When referencing this native component file, MSBuild won't recognize that the dissimilarly named WinMDs make one component. Seuls les fichiers .dll et .winmd portant le même nom sont copiés, et des erreurs d’exécution se produisent.Consequently, only the identically named .dll and .winmd will be copied, and runtime errors will occur. Pour contourner ce problème, créez un kit SDK d’extension.To work around this issue, create an extension SDK. Pour plus d’informations, consultez Créer un kit SDK.For more information, see Create a Software Development Kit.

  • Consommation de contrôles : au minimum, un contrôle XAML se compose d’un fichier .winmd, .dll, .pri, .xaml et .jpg.Consuming controls: at a minimum, a XAML control consists of a .winmd, .dll, .pri, .xaml, and an .jpg. Au moment où le projet est généré, les fichiers de ressources associés à la référence de fichier ne sont pas copiés dans le répertoire de sortie du projet. Seuls les fichiers .winmd, .dll et .pri sont copiés.When the project is built, the resource files that are associated with the file reference won't get copied into the project's output directory, and only .winmd, .dll and .pri will be copied. Une erreur de build est journalisée pour indiquer à l’utilisateur que les ressources .xaml et .jpg sont manquantes.A build error is logged to inform the user that the resources .xaml and .jpg are missing. Pour que l'opération réussisse, l'utilisateur doit copier manuellement les fichiers de ressources dans le répertoire de sortie du projet pour la génération et le débogage/l'exécution.To succeed, the user will have to manually copy these resource files into the project output directory for build and debugging/runtime. Pour contourner ce problème, créez un kit SDK d’extension en suivant les étapes décrites dans Créer un kit SDK, ou modifiez le fichier projet pour ajouter la propriété suivante :To work around this issue, either create an extension SDK by following the steps in Create a Software Development Kit or edit the project file to add the following property:

    <PropertyGroup>
       <GenerateLibraryOutput>True</GenerateLibraryOutput>
    </PropertyGroup>
    

    Note

    Si vous ajoutez la propriété, la build peut s'exécuter plus lentement.If you add the property, the build might run slower.

RécentRecent

Les éléments Assemblys, COM, Windows et Parcourir prennent tous en charge un onglet Récent, qui énumère la liste des composants ajoutés récemment aux projets.Assemblies, COM, Windows, and Browse each support a Recent tab, which enumerates the list of components that were recently added to projects.

La barre de recherche de la boîte de dialogue Gestionnaire de références fonctionne sur l’onglet actif.The search bar in the Reference Manager dialog box operates over the tab that's in focus. Par exemple, si un utilisateur tape « System » dans la barre de recherche alors que l’onglet Solution est actif, la recherche ne renvoie aucun résultat à moins que la solution soit composée d’un nom de projet contenant « System ».For example, if a user types "System" in the search bar while the Solution tab is in focus, the search won't return any results unless the solution consists of a project name that contains "System".

Voir aussiSee also