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

时间:2015-04-19 06:03:23

标签: visual-studio msbuild c++-cli

我正在开发其他人启动的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

6 个答案:

答案 0 :(得分:24)

这里的问题相同,由

解决
  1. 正在删除所有 Debug\Release\个文件夹(在我不期望的子文件夹中有更多文件夹)
  2. 手动更改.sln文件以修复在Visual Studio中重命名项目时显然未重命名的引用C ++项目(.vcxproj)的名称

答案 1 :(得分:9)

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

要做到这一点,

  • 打开项目的“属性”对话框
  • 在“配置属性”下,选择“常规”
  • 确保此项目的中间目录对此项目是唯一的。

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

答案 2 :(得分:5)

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

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

答案 3 :(得分:4)

我自己也遇到了这种警告..但是我在不同的情况下获得了这个,我通过IDE重命名了我的整个解决方案/项目,从而制作了一个完全不同的项目的另一个副本。所以我在这里总共有两个共享一个公共资源,源文件和头文件的项目。这会弹出此警告。

我通过删除与之前重命名的项目相关联的文件来修复此问题。删除这些INSIDE DEBUG文件夹。在您的情况下,尝试删除所有“my_project”文件,无论文件扩展名是什么,因为它共享资源文件到您的重复项目。

答案 4 :(得分:3)

此问题的原因是复制由Visual Studio创建的中间目录,该目录已包含先前构建的文件。它不是项目设置中的问题,而是由另一个项目中存在意外文件引起的问题。在这种情况下,警告是良性的,但令人讨厌。

最小的解决方案是查找和删除每个这样的文件。更简单的解决方案通常是“超级清理”:删除Visual Studio创建的每个目录(名称如bin,obj,x64,x86,Debug,Release等),并允许VS在正常构建期间重新创建它们过程

答案 5 :(得分:0)

我也遇到过这个问题,对我来说,原因是中间构建文件夹中有多个 libname.tlog 目录。这些目录包含我假设用于依赖性检查的 libname.lastbuildstate 文件。我认为清理项目不会删除这些额外的目录。

所以在这种情况下,我能够删除 libname.tlog 目录并重新构建。我不知道它是如何进入每个中间目录中有多个目录的状态——也许它们是我更新 VS 版本时创建的。