Предупреждение MSB8028: промежуточный каталог (Debug \) содержит файлы, совместно используемые из другого проекта

Я работаю над С++\CLI, что кто-то еще начал. Решение состоит из трех проектов C и 1 проекта С++\CLI, который их использует.
Я продублировал проект С++\CLI и изменил его имя и свойство ProjectGUID в файле vcxproj.

Проблема в том, что я все еще получаю ошибку, указанную ниже.

Как я могу это исправить?

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

Ответы

Ответ 1

Такая же проблема здесь, решена

  • Удаление всех папок Debug\ и Release\ (их было больше в подпапках, где я их не ожидал)
  • Изменение файла .sln вручную, чтобы исправить имя ссылочного проекта С++ (.vcxproj), который, по-видимому, не был переименован при переименовании проекта в Visual Studio

Ответ 2

Я сам тоже сталкивался с таким предупреждением. Но я получил это в другой ситуации, я переименовал все свое решение/проект через IDE и, таким образом, сделал еще одну копию совершенно другого проекта. Итак, у меня есть в общей сложности два проекта, совместно использующих один общий ресурс, исходный и заголовочный файлы. Это вызывает всплывающее предупреждение.

Я исправил это, удалив файлы, связанные с проектом, которые вы переименовали ранее. Удалите эти ВНУТРИ папки DEBUG. В вашем случае попробуйте удалить все файлы "my_project", независимо от каких-либо расширений файлов, поскольку он разделяет файлы ресурсов на дублированный проект.

Ответ 3

Я обнаружил, что вы можете отключить эти типы предупреждений, добавив в файл проекта следующее:

<PropertyGroup>
  <IntDirSharingDetected>
    None
  </IntDirSharingDetected>
</PropertyGroup>

Ответ 4

Мое предложение состоит в том, чтобы убедиться, что промежуточный каталог для каждого проекта отличается (как было предложено кем-то ранее).

Чтобы сделать это,

  • Откройте диалоговое окно "Свойства проекта"
  • В разделе "Свойства конфигурации" выберите "Общие"
  • Убедитесь, что Intermediate Directory для этого проекта уникален для этого проекта.

Я столкнулся с этой проблемой, потому что, используя предыдущие версии Developer Studio, у меня было множество сопутствующих проектов, но хотелось, чтобы все они размещали их в общей папке "Release". Неожиданно я установил те же общие настройки папки выпуска в пути промежуточной директории для некоторых проектов (но не для всех).

Ответ 5

Причиной этой проблемы является копирование промежуточной директории, созданной Visual Studio, и которая уже содержит файлы из предыдущей сборки. Это не проблема в настройках проекта, а проблема, вызванная наличием неожиданных файлов из другого проекта. В этом контексте предупреждение является доброкачественным, но раздражает.

Минимальным решением является поиск и удаление каждого такого файла. Более простое решение, как правило, "супер чист": удалите каждый каталог, созданный Visual Studio (с именами, такими как bin, obj, x64, x86, Debug, Release и т.д.) И разрешите VS повторно создать их во время нормальной сборки процесс.