web-dev-qa-db-fra.com

avertissement MSB8028: le répertoire intermédiaire (Debug \) contient des fichiers partagés à partir d'un autre projet

Je travaille sur C++\CLI que quelqu'un d'autre a commencé. La solution est composée de 3 projets C et 1 projet C++\CLI qui les utilise.
J'ai dupliqué le projet C++\CLI et je l'ai changé de nom et de propriété ProjectGUID dans le fichier vcxproj.

Le problème est que je reçois toujours l'erreur ci-dessous.

Comment puis-je réparer cela?

Warning 1 warning MSB8028: The intermediate directory (Debug\) contains files shared from another project (my_project.vcxproj). This can lead to incorrect clean and rebuild behavior. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 388 5 seebo_prod_line_tool

23
Ido Ran

Même problème ici, résolu par

  1. Suppression toutDebug\ et Release\ dossiers (il y en avait plus dans des sous-dossiers où je ne m'y attendais pas)
  2. Changer le .sln fichier manuellement pour corriger le nom d'un projet C++ référencé (.vcxproj) qui n'a apparemment pas été renommé lors du changement de nom du projet dans Visual Studio
30
Thomas Weller

Ma suggestion est de m'assurer que le répertoire intermédiaire pour chaque projet est différent (comme suggéré par quelqu'un d'autre plus tôt.)

Pour faire ça,

  • Ouvrez la boîte de dialogue Propriétés du projet
  • Sous Propriétés de configuration, sélectionnez Général
  • Assurez-vous que le répertoire intermédiaire de ce projet est unique à ce projet.

J'ai rencontré ce problème, car en utilisant les versions précédentes de Developer Studio, j'avais un hôte de projets compagnons, mais je voulais tous mettre leur sortie dans un dossier "Release" commun. Par inadvertance, j'avais défini les mêmes paramètres de dossier de version communs dans le chemin du répertoire intermédiaire pour certains des projets (mais pas tous).

10
Gixxernaut

J'ai moi-même rencontré ce genre d'avertissement .. Mais j'ai obtenu cela dans une situation différente, j'ai renommé l'ensemble de ma solution/projet via IDE et ainsi faire une autre copie d'un projet entièrement différent. J'ai ici un total de deux projets partageant une ressource commune, des fichiers source et d'en-tête, ce qui fait apparaître cet avertissement.

J'ai résolu ce problème en supprimant les fichiers associés au projet, que vous avez renommé précédemment. Supprimez-les DANS le dossier DEBUG. Dans votre cas, essayez de supprimer tous les fichiers 'my_project', quelles que soient les extensions de fichier car il partage des fichiers de ressources avec votre projet dupliqué.

6
Leandro Gecozo

J'ai constaté que vous pouvez désactiver ces types d'avertissements en ajoutant ce qui suit au fichier de projet:

<PropertyGroup>
  <IntDirSharingDetected>
    None
  </IntDirSharingDetected>
</PropertyGroup>
6
Johnny Shaw

La cause de ce problème est la copie d'un répertoire intermédiaire créé par Visual Studio et qui contient déjà des fichiers d'une génération précédente. Ce n'est pas un problème dans les paramètres du projet, mais un problème causé par l'existence de fichiers inattendus d'un autre projet. Dans ce contexte, l'avertissement est bénin, mais ennuyeux.

La solution minimale consiste à rechercher et à supprimer chacun de ces fichiers. La solution la plus simple consiste généralement à "super nettoyer": supprimez tous les répertoires créés par Visual Studio (avec des noms comme bin, obj, x64, x86, Debug, Release et ainsi de suite), et autorisez VS à les recréer pendant la construction normale processus.

3
david.pfx