警告MSB8028:中间目录(Debug \)包含从另一个项目共享的文件

Ido*_*Ran 23 msbuild c++-cli visual-studio

我正在开发其他人启动的C++\CLI.该解决方案由3个C项目和1个使用它们的C++\CLI项目组成.
我复制了C++\CLI项目并在vcxproj文件中更改了它的名称和ProjectGUID属性.

问题是我仍然得到下面列出的错误.

我怎样才能解决这个问题?

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

Tho*_*ler 31

同样的问题在这里解决了

  1. 删除所有 Debug\Release\文件夹(在我没想到的子文件夹中有更多这些文件夹)
  2. .sln手动更改文件以修复引用的C++项目的名称(.vcxproj在Visual Studio中重命名项目时显然未重命名)


小智 10

我的建议是确保每个项目的中间目录不同(正如之前其他人所建议的那样).

去做这个,

  • 打开项目的"属性"对话框
  • 在Configuration Properties下,选择General
  • 确保此项目的中间目录对于此项目是唯一的.

我遇到了这个问题,因为使用以前版本的Developer Studio我有很多伴侣项目,但是他们希望所有这些项目都将它们的输出放在一个共同的"Release"文件夹中.无意中,我在某些项目的中间目录路径中设置了相同的公共发布文件夹设置(但不是全部).


Lea*_*ozo 6

我本人也遇到过这种警告。但是,我在另一种情况下获得了此警告,我通过IDE重命名了整个解决方案/项目,因此又制作了一个完全不同的项目的副本。因此,我这里共有两个项目,它们共享一个公共资源,源文件和头文件。这使该警告弹出。

我通过删除与该项目关联的文件(之前已对其进行重命名)来解决此问题。在DEBUG文件夹中删除这些文件。对于您而言,请尝试删除所有“ my_project”文件,而不管文件扩展名如何,因为它会将资源文件共享到重复的项目中。


Joh*_*haw 5

我发现你可以通过在项目文件中添加以下内容来禁用这些类型的警告:

<PropertyGroup>
  <IntDirSharingDetected>
    None
  </IntDirSharingDetected>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,禁用警告并不能解决问题. (3认同)