Share via


Gestion des références de projet

Avant d'écrire le code par rapport à un composant externe, votre projet doit d'abord contenir une référence à ce composant.Il est possible de créer une référence à l'aide des types de composants suivants :

  • des assemblys ou bibliothèques de classes .NET Framework ;

  • des composants COM ;

  • d'autres assemblys ou bibliothèques de classes de projets de la même solution ;

  • Services Web XML

Pour plus d'informations sur les références à un service Web XML, consultez Web References.

Ajouter une référence au moment de le design

Pour ajouter une ou plusieurs références au moment de le design, vous utilisez la boîte de dialogue Gestionnaire de références ou la boîte de dialogue Ajouter une référence, en fonction de le type de projet à générer.Vous utilisez la boîte de dialogue gestionnaire de référence pour toutes les applications d' Windows Store et la plupart des autres types de projets.Pour plus d'informations, consultez Comment : ajouter ou supprimer des références à l'aide du gestionnaire de références.D'autres types de projets prennent en charge la boîte de dialogue Ajouter une référence .Pour plus d'informations, consultez Comment : ajouter ou supprimer des références à l'aide de la boîte de dialogue Ajouter une référence.

Vous pouvez utiliser la boîte de dialogue Ajouter une référence pour accéder aux assemblys qui ne sont pas répertoriés.Vous ne pouvez pas ajouter de références de Global Assembly Cache (GAC), car il fait strictement partie de l'environnement d'exécution.

Lorsque vous référencez un assembly dans votre projet, Visual Studio commence la recherche par les emplacements suivants :

  • Le répertoire de projet actuel(vous pouvez rechercher ces assemblys à l'aide de l'onglet Parcourir)

  • Autres répertoires de projet de la même solution(vous pouvez rechercher ces assemblys sous l'onglet Projets)

Pour plus d'informations sur l'ajout de références au moment de la conception, consultez Comment : ajouter ou supprimer des références à l'aide de la boîte de dialogue Ajouter une référence.

[!REMARQUE]

Tous les projets contiennent une référence implicite à mscorlib.Les projets Visual Basic contiennent une référence implicite à Microsoft.VisualBasic.

Tous les projets dans Visual Studio contiennent une référence implicite à System.Core, même si System.Core est supprimé de la liste de références.

Références aux composants partagés à l'exécution

Au moment de l'exécution, les composants doivent se trouver dans le chemin de sortie du projet ou dans le Global Assembly Cache (GAC).Si le projet contient une référence à un objet qui ne se trouve pas à l'un de ces emplacements, la référence doit être copiée dans le chemin de sortie du projet lorsque celui-ci est généré.La propriété CopyLocal indique s'il est nécessaire d'effectuer la copie.Si la valeur est True, la référence est copiée vers le répertoire de projet lorsque vous générez le projet.Si la valeur est False, la référence n'est pas copiée.

Si vous déployez une application qui contient une référence à un composant personnalisé qui est enregistré dans le GAC, le composant ne sera pas déployé avec l'application, quel que soit paramètre CopyLocal.Dans les versions antérieures de Visual Studio, vous pouviez affecter une référence à la propriété CopyLocal afin de garantir que l'assembly était déployé.À présent, vous devez ajouter manuellement l'assembly au dossier \Bin.Cela permet de placer tout le code personnalisé sous surveillance, en réduisant le risque de publier du code personnalisé avec lequel vous n'êtes pas familiarisé.

Par défaut, la propriété CopyLocal a la valeur False si l'assembly ou le composant se trouve dans le Global Assembly Cache (GAC) ou s'il s'agit d'un composant .NET Framework.Sinon, sa valeur est True.La valeur est toujours True pour les références entre projets.

Référencement d'un projet ou d'un assembly qui cible une version différente du .NET Framework

Vous pouvez créer des applications qui référencent des projets ou des assemblys ciblant une version différente du .NET Framework.Par exemple, vous pouvez créer une application ciblant .NET Framework 4 Client Profile qui référence un assembly ciblant .NET Framework 2.0.Si vous créez un projet ciblant une version antérieure du .NET Framework, vous ne pouvez pas définir une référence à un projet ou à un assembly qui cible le .NET Framework 4 Client Profile ou le .NET Framework version 4 dans ce projet.

Pour plus d'informations, consultez Détermination d'une version ou d'un profil spécifique du .NET Framework.

Références entre projets et Références de fichiers

Les références de fichiers sont des références directes aux assemblys ; vous les créez à l'aide de l'onglet Parcourir de la boîte de dialogue Ajouter une référence.Les références entre projets sont des références aux projets qui contiennent des assemblys ; vous les créez à l'aide de l'onglet Projet de la boîte de dialogue Ajouter une référence.

Une référence entre projets présente un avantage : elle permet de créer une dépendance entre les projets dans le système de génération.Par conséquent, le projet dépendant sera généré s'il a été modifié depuis la dernière génération du projet de référence.Étant donné qu'une référence de fichier ne crée aucune dépendance de génération, il est possible de générer le projet de référence sans générer le projet dépendant, et la référence peut devenir obsolète(autrement dit, le projet peut référencer une version du projet générée précédemment). Cette situation peut nécessiter la présence de plusieurs versions d'une même DLL dans le répertoire bin, ce qui n'est pas possible, d'où l'affichage de ce message d'erreur.Lorsque ce conflit se produit, le message Avertissement : impossible de copier la dépendance 'fichier' du projet 'projet' dans le répertoire d'exécution, car elle remplacerait la référence 'fichier'. s'affiche.

É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.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 au sein de la même solution.Cela facilite le développement en équipe, en permettant une meilleure gestion des bibliothèques de classes créées dans vos projets.Pour plus d'informations, consultez Dépannage de références rompues et Comment : créer et supprimer les dépendances d'un projet.

[!REMARQUE]

Une référence de fichier au lieu d'une référence de projet est créée si la version cible du .NET Framework d'un projet est la version 4,5, et la version cible de l'autre projet est la version 2, 3, 3,5, ou 4,0.

Références Web

Vous pouvez également ajouter des références Web à l'aide de la boîte de dialogue Ajouter une référence Web.Pour plus d'informations, consultez How to: Add and Remove Web References.

Voir aussi

Tâches

Dépannage de références rompues

Comment : ajouter ou supprimer des références à l'aide de la boîte de dialogue Ajouter une référence

Concepts

Comment : ajouter ou supprimer des références à l'aide du gestionnaire de références

Autres ressources

Referencing Namespaces and Components

Managing References

Programmation à l'aide d'assemblys