Visual studio 警告MSB8028:中间目录(Debug\)包含从其他项目共享的文件

Visual studio 警告MSB8028:中间目录(Debug\)包含从其他项目共享的文件,visual-studio,msbuild,c++-cli,Visual Studio,Msbuild,C++ Cli,我正在使用其他人启动的C++\CLI。该解决方案由3个C项目和1个使用它们的C++\CLI项目组成。 我复制了C++\CLI项目,并在vcxproj文件中更改了它的名称和ProjectGUID属性 问题是我仍然得到下面列出的错误 我怎样才能解决这个问题 警告1警告MSB8028:中间目录(Debug\)包含从另一个项目(my_project.vcxproj)共享的文件。这可能导致不正确的清理和重建行为。C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.

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

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

我怎样才能解决这个问题

警告1警告MSB8028:中间目录(Debug\)包含从另一个项目(my_project.vcxproj)共享的文件。这可能导致不正确的清理和重建行为。C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 388 5 seebo\u prod\u line\u工具

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


我通过删除与项目关联的文件修复了此问题,您以前重命名了该项目。在调试文件夹中删除这些。在您的情况下,请尝试删除所有“my_project”文件,而不考虑任何文件扩展名,因为它将资源文件共享给您的复制项目。

这里的相同问题由解决

  • 删除所有
    Debug\
    Release\
    文件夹(子文件夹中有更多我没有想到的文件夹)
  • < >手动修改<代码> .SLN< /Cord>文件,以修复引用的C++项目的名称( VCXPROJ),在VisualStudio重命名项目时,显然没有重命名它的名称。
    此问题的原因是复制了Visual Studio创建的中间目录,该目录已包含以前生成的文件。这不是项目设置中的问题,而是由于存在来自另一个项目的意外文件而导致的问题。在这种情况下,警告是善意的,但令人讨厌


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

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

    <PropertyGroup>
      <IntDirSharingDetected>
        None
      </IntDirSharingDetected>
    </PropertyGroup>
    
    
    没有一个
    
    我的建议是确保每个项目的中间目录是不同的(正如前面其他人建议的那样)

    为此,

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

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

    我也遇到了这个问题,对我来说,原因是中间生成文件夹中有多个
    libname.tlog
    目录。这些目录包含
    libname.lastbuildstate
    文件,我假设这些文件用于依赖项检查。做一个干净的项目,我不认为会删除这些额外的目录


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

    错误消息非常清楚。如果您复制了整个项目(包括Debug dir),请杀死中间目录并尝试重新生成。如果问题仍然存在,请确保您的$(IntDir)属性指向每个项目和每个配置/平台组合的单独位置。不幸的是,禁用警告并不能解决问题。感谢您发布此消息。我正在制作一组vcxproj文件来匹配一组CPP测试文件,每个文件都有自己的
    main
    ,但有意共享一个主公共设置文件(每个vcxproj只是一个存根),并使用一组中间目录,因此我不会为每个文件创建一个新目录。我知道,文件名必须是不同的。现在,停止警告我或混淆我的下游用户。最重要的是,我必须“清理”项目的所有配置,从以前的版本中删除延迟文件夹,然后它就工作了。谢谢你,吉克塞诺!