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.

Ajout et suppression d’une référenceAdding and removing 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 et sélectionnez Ajouter une référence.In Solution Explorer, right-click on the References node and choose Add Reference.

  2. Spécifiez les références à ajouter, puis choisissez le bouton OK.Specify the references to add, and then choose the OK button.

    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.

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 enregistré dans le GAC, cet assembly ne sera 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 Gestion des références dans un projet.For more information, see Managing 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), attribuez 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 du 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 répertorie 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 au Framework complet.In managed projects, a read-only node under the References folder in Solution Explorer indicates the reference to the entire Framework. Par conséquent, l’onglet Framework n’énumère pas les assemblys à partir du Framework et affiche à la place le message suivant : « Tous les assemblys .NET 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 .NET Framework ciblé. Par ailleurs, 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 les 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 en énumérant les assemblys stockés 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[Identificateur du framework cible]\v[Version du framework cible]\AssemblyFoldersEx[NomComposantUtilisateur]@default=[Emplacement sur disque des assemblys]HKEY_CURRENT_USER\SOFTWARE\Microsoft[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx[UserComponentName]@default=[Disk location of assemblies]
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft[Identificateur du framework cible]\v[Version du framework cible]\AssemblyFoldersEx[NomComposantUtilisateur]@default=[Emplacement sur disque des assemblys]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[Identificateur du framework cible]\v[Version du framework cible]\AssemblyFoldersEx[NomComposantUtilisateur]@default=[Emplacement sur disque des assemblys]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[Identificateur du framework cible]\v[Version du framework cible]\AssemblyFoldersEx[NomComposantUtilisateur]@default=[Emplacement sur disque des assemblys] et les anciennes versions de [Identificateur du framework cible]HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx[UserComponentName]@default=[Disk location of assemblies] And older versions of the [Target Framework Identifier]

    Par exemple, si un projet cible le .NET Framework 4 sur un ordinateur 32 bits, les extensions énumèrent les assemblys qui sont stockés dans \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 pour 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 est incompatible avec un projet qui cible le .NET Framework 4.5.NET Framework 4.5.A component that uses .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épannage de références rompues.For more information, see Troubleshooting 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_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    • [HKEY_LOCAL_MACHINE\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_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\VersionMinimum\AssemblyFoldersEx\MyAssemblies]@="AssemblyLocation"

    • [HKEY_LOCAL_MACHINE\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 de .NET Framework qui peut être utilisée.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 désigne le répertoire des assemblys que vous souhaitez afficher 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\.

      Créer 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. Créer la clé de Registre sous le nœud HKEY_CURRENT_USER affecte uniquement le paramètre pour 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 COMCOM tab

L'onglet COM répertorie 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 comme contrôle ActiveX, et non comme 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 won't appear in the Reference Manager dialog box.

Onglet SolutionSolution tab

L'onglet Solution répertorie tous les projets compatibles dans la solution actuelle, dans le sous-onglet Projets.The Solution tab lists all compatible projects within the current solution, in the Projects 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 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 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.However, the .NET Framework 2 project can't reference a .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 est incompatible avec un projet qui cible le .NET Framework 4 Client Profile.A project that targets the .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 qui sont 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 des espaces de noms A.B et A.B.C, les étiquettes possibles pour le 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’y a aucun espace de noms de sur-ensemble dans un projet, un avertissement de génération est créé : « 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 courant 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 répertorie tous les WinMDs (pour les éléments Windows Runtime) dans le kit SDK de la version Windows ciblée.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 au SDK Windows 8 complet.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 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 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 dialogueGestionnaire 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 voudrez également ajouter System.Runtime, dans lequel Windows Runtime définit des classes et des interfaces standard, telles que IEnumerable, qui sont utilisées dans toutes les 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 du System.Runtime, consultez Applications du 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 indiquent les Kits de développement logiciel 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 de bureau n’indiquent pas cet onglet car ils peuvent consommer uniquement des 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 SDK qui s’appliquent au projet à partir duquel la boîte de dialogue Gestionnaire de références a été appelée sont répertorié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 du SDK sous l’onglet Extensions, consultez Création d’un 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.

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épannage de références rompues.For more information, see Troubleshooting 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 effectuez une référence de fichier pour un fichier WinMD, la disposition attendue est la suivante : les fichiers nom_fichier.winmd, nom_fichier.dll et nom_fichier.pri sont placés les uns aux côtés des autres.When doing a file reference to a WinMD, the expected layout is that the FileName.winmd, FileName.dll, and FileName.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. Ainsi, seuls les fichiers nom_fichier.dll et nom_fichier.winmd portant le même nom sont copiés, et des erreurs d’exécution se produisent.Consequently, only the identically named FileName.dll and FileName.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éation d’un SDK.For more information, see Creating a Software Development Kit.

  • Utilisation de contrôles : au minimum, un contrôle XAML comprend un fichier nom_fichier.winmd, nom_fichier.dll, nom_fichier.pri, nom_xaml.xaml et nom_image.jpg.Consuming controls: at a minimum, a XAML control consists of a FileName.winmd, FileName.dll, FileName.pri, XamlName.xaml, and an ImageName.jpg. Quand 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 nom_fichier.winmd, nom_fichier.dll et nom_fichier.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 FileName.winmd, FileName.dll and FileName.pri will be copied. Une erreur de build est journalisée pour indiquer à l’utilisateur que les ressources nom_xaml.xaml et nom_image.jpg sont manquantes.A build error is logged to inform the user that the resources XamlName.xaml and ImageName.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 SDK de l’extension en suivant les étapes décrites dans Création d’un 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 Creating 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 boutons Assemblys, COM, Windows et Parcourir prennent tous en charge un onglet Récent, qui énumère la liste des composants qui ont été récemment ajoutés 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

Gestion des références dans un projetManaging references in a project