web-dev-qa-db-ja.com

警告MSB8028:中間ディレクトリ(Debug \)には、別のプロジェクトから共有されたファイルが含まれています

私は他の誰かが始めた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

23
Ido Ran

ここで同じ問題、によって解決

  1. allDebug\フォルダーとRelease\フォルダーを削除します(予想外のサブフォルダーにさらに多くありました)
  2. .slnファイルを手動で変更して、参照されているC++プロジェクトの名前(.vcxproj)を修正します。これは、Visual Studioでプロジェクトの名前を変更したときに明らかに名前が変更されなかった
30
Thomas Weller

私の提案は、各プロジェクトの中間ディレクトリが異なることを確認することです(以前に誰かが提案したように)。

これをする、

  • プロジェクトの[プロパティ]ダイアログを開きます
  • [構成プロパティ]で、[全般]を選択します
  • このプロジェクトの中間ディレクトリがこのプロジェクトに固有であることを確認してください。

Developer Studioの以前のバージョンを使用して、コンパニオンプロジェクトのホストがありましたが、それらのすべてが共通の「Release」フォルダーに出力を配置したかったため、この問題に遭遇しました。いくつかのプロジェクト(すべてではありません)の中間ディレクトリパスに同じ共通リリースフォルダー設定を設定していました。

10
Gixxernaut

私自身もこの種の警告に遭遇しました。しかし、別の状況でこれを取得し、IDEを使用してソリューション/プロジェクト全体の名前を変更し、まったく異なるプロジェクトの別のコピーを作成しました。ここには、1つの共通リソース、ソースファイル、ヘッダーファイルを共有する合計2つのプロジェクトがあり、この警告がポップアップ表示されます。

以前に名前を変更したプロジェクトに関連するファイルを削除することで、これを修正しました。これらをDEBUGフォルダー内で削除します。あなたの場合は、ファイル拡張子に関係なく、すべての「my_project」ファイルを削除してみてください。重複したプロジェクトとリソースファイルを共有するからです。

6
Leandro Gecozo

プロジェクトファイルに以下を追加することで、これらの種類の警告を無効にできることがわかりました。

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

この問題の原因は、Visual Studioによって作成され、以前のビルドからのファイルが既に含まれている中間ディレクトリをコピーすることです。これはプロジェクト設定の問題ではなく、別のプロジェクトからの予期しないファイルの存在によって引き起こされる問題です。このコンテキストでは、警告は無害ですが、迷惑です。

最小の解決策は、そのようなファイルをそれぞれ見つけて削除することです。通常、よりシンプルなソリューションは「スーパークリーン」です。VisualStudioで作成されたすべてのディレクトリ(bin、obj、x64、x86、Debug、Releaseなどの名前)を削除し、通常のビルド中にVSがそれらを再作成できるようにします処理する。

3
david.pfx