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'.
Mise à jour : novembre 2007
Warning: the dependency 'file' in project 'project' cannot be copied to the run directory because it would overwrite the reference 'file.'
Il existe un conflit entre des dépendances, car plusieurs fichiers d'assembly distincts qui portent le même nom sont copiés dans le répertoire bin pour que l'application puisse s'exécuter. Le répertoire d'exécution peut résoudre le conflit dans la mesure où une des dépendances est une référence principale.
Le fait de double-cliquer sur cet élément de la liste des tâches vous conduit au nœud de référence principale où le conflit se présente.
Cet avertissement s'affiche comme résultat lorsqu'un conflit de dépendances est présent, mais que vous l'avez résolu en ajoutant une des dépendances en conflit en tant que référence. Ou encore, vous aviez une référence de version 1, puis vous avez ajouté une seconde référence qui fait elle-même référence à la version 2 de la première référence.
En résumé, cette erreur survient parce que les projets de votre solution comportent des références réciproques, mais que les références ont été créées comme des références de fichier (à l'aide du bouton Parcourir de la boîte de dialogue Ajouter une référence), et non comme des références entre projets (à l'aide de l'onglet Projet de cette même boîte de dialogue). Une référence entre projets présente l'avantage de créer une dépendance entre les projets dans le système de génération, de telle sorte que 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. Une référence de fichier ne crée pas de dépendance de génération, et il est donc possible de générer le projet de référence sans générer le projet dépendant. Une telle référence peut par conséquent devenir obsolète. Un projet peut référencer une version générée antérieurement de l'autre projet. 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.
Ce message s'affiche chaque fois qu'il existe un conflit dans le répertoire bin et que l'application risque de ne pas fonctionner correctement. Bien que vous puissiez contourner le problème, cet avertissement s'affiche toujours, car le système de projet ne parvient pas à déterminer si la version d'une dépendance fonctionnera ou non correctement avec tous les composants.
Pour corriger cette erreur
- Copiez un (ou zéro) fichier d'assembly dans le répertoire bin, opération qui peut être effectuée en plaçant le fichier d'assembly dans le Global Assembly Cache. Le Global Assembly Cache résout les conflits de noms de fichiers. Aucune copie locale du fichier d'assembly n'est effectuée, car le Common Language Runtime sait comment trouver les assemblys dans le Global Assembly Cache. Pour plus d'informations, consultez Utilisation d'assemblys et du Global Assembly Cache et Erreur : impossible de copier la dépendance 'fichier' du projet 'projet' dans le répertoire d'exécution, car elle serait en conflit avec la dépendance 'fichier'.
Voir aussi
Tâches
Comment : créer et supprimer les dépendances d'un projet