Gestion des références de projet

Pour écrire du 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 :

  • Références des applications Windows Store

  • 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.

Références des applications Windows Store

Références de projet

Les projets Windows Store qui ciblent Windows 8 ne peuvent pas dépendre des binaires ou des projets Windows Store qui ciblent Windows 8.1.

Si un projet dans votre application cible Windows 8.1 et votre application se compose d'un projet C++ Windows Store, vous devez procédez comme suit :

  1. Reciblez tous les projets dans votre application dans Windows 8.1.Cliquez avec le bouton droit sur chaque projet dans votre application et sélectionnez la commande Recibler vers Windows 8.1, puis cliquez sur OK dans la boîte de dialogue Voir les modifications apportées au projet et à la solution.

  2. Cliquez avec le bouton droit sur chaque projet Visual Basic, Visual C# et JavaScript qui dépend du projet C++ Windows Store, choisissez Ajouter une référence, accédez à l'onglet Windows, puis au sous-onglet Extensions, désactivez Microsoft Visual C++ Runtime Package v11.0 et activez la case à cocher Microsoft Visual C++ Runtime Package v12.0, puis cliquez sur OK.

Les projets Windows Store Visual Basic, C# et JavaScript qui ciblent Windows 8.1 peuvent référencer les projets Windows Store Visual Basic et C# qui ciblent Windows 8, à condition que ces projets n'utilisent pas les API qui ont été déconseillées dans Windows 8.1.Voir la rubrique sur la migration des applications Windows 8 vers Windows 8.1 Preview pour déterminer si les projets Windows Store que Windows 8 cible continueront à se comporter comme prévu lorsque référencé depuis un projet Windows 8.1.

Références SDK d'extension

Les projets Windows Store Visual Basic, C#, C++ et JavaScript qui ciblent Windows 8.1 ne peuvent pas référencer les Kits de développement logiciel d'extension qui dépendent de Microsoft Visual C++ Runtime Package v11.0, car cela provoquera des problèmes d'exécution.Vous pouvez déterminer si un Kit de développement logiciel d'extension dépend de Microsoft Visual C++ Runtime Package v11.0 en créant un projet Windows Store C#, en cliquant avec le bouton droit sur le projet et en sélectionnant Ajouter une référence, en cliquant sur l'onglet Fenêtres et le sous-onglet Extensions, en sélectionnant le Kit de développement logiciel d'extension et en vérifiant si le volet droit du Gestionnaire de références répertorie Microsoft.VCLibs, version = 11.0 comme dépendance.

Les projets Windows Store Visual Basic, C# et JavaScript qui ciblent Windows 8.1 peuvent référencer les Kits de développement logiciel d'extension qui ne dépendent pas de Microsoft Visual C++ Runtime Package v11.0, tant que ces Kits de développement logiciel d'extension n'utilisent pas les API qui ont été déconseillées dans Windows 8.1.Vérifiez le site du fournisseur du SDK de l'extension pour déterminer s'il peut être référencé par les projets du Windows Store qui ciblent Windows 8.1.

Si vous déterminez que le SDK d'extension référencé par votre application n'est pas pris en charge, vous devez procéder comme suit :

  1. Examinez le nom du projet qui provoque l'erreur.La plateforme ciblée par votre projet est indiquée entre parenthèses en regard du nom du projet.Par exemple, NomMonProjet (Windows 8.1) signifie que votre projet NomMonProjet cible la version de plateforme Windows 8.1.

  2. Accédez au site du fournisseur qui possède le Kit de développement logiciel de l'extension (SDK) non prise en charge et installez la version SDK d'extension avec les dépendances qui sont compatibles avec la version de la plateforme ciblée par votre projet.

    [!REMARQUE]

    Une manière de déterminer si un Kit de développement logiciel (SDK) d'extension installé précédemment a des dépendances sur d'autres Kits de développement logiciel (SDK) d'extension, redémarrez Visual Studio, créez un projet Windows Store C#, cliquez avec le bouton droit sur le projet et sélectionnez Ajouter une référence, accédez à l'onglet Fenêtres, accédez au sous-onglet Extensions, sélectionnez le Kit de développement logiciel (SDK) d'extension et examinez le volet droit du Gestionnaire de références.Si des dépendances existent, elles seront répertoriées ici.

    Important

    Si votre projet cible Windows 8.1 et le SDK d'extension installé à l'étape précédente a une dépendance sur le package Microsoft Visual C++ Runtime, la version du package Microsoft Visual C++ Runtime qui est compatible avec Windows 8.1 sera v12.0 avec Visual Studio 2013.

  3. Si le Kit de développement logiciel d'extension que vous avez installé lors de l'étape précédente a des dépendances sur d'autres SDK d'extension, accédez aux sites des fournisseurs qui possèdent des dépendances et installez les versions de ces dépendances compatibles avec la version de la plateforme que votre projet cible.

  4. Redémarrez Visual Studio et ouvrez votre application.

  5. Cliquez avec le bouton droit sur le projet qui a provoqué l'erreur, puis choisissez Ajouter une référence (dans les projets Visual Basic, C# ou JavaScript) ou Références (dans les projets C++).Pour les projets C++, cliquez sur le bouton Ajouter une nouvelle référence.

  6. Cliquez sur l'onglet Fenêtres, puis sur le sous-onglet Extensions, puis désactivez les cases à cocher des anciens Kits de développement logiciel d'extension et activez les cases à cocher des nouveaux Kits de développement logiciel d'extensionCliquez sur OK.

Ajout d'une référence au moment du design

Pour ajouter une ou plusieurs références au moment de la conception, utilisez la boîte de dialogue Gestionnaire de références ou la boîte de dialogue Ajouter une référence, selon le type de projet que vous générez.Vous utilisez la boîte de dialogue Gestionnaire de références pour toutes les applications Windows Store et la majorité 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.Quelques autres types de projet 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 par atteindre les assemblys non répertoriés.Vous ne pouvez pas ajouter de références depuis le 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.

Dans Visual Studio, tous les projets 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 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 et si la version cible de l'autre projet est 2.0, 3.0, 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