VC++ (ネイティブおよびマネージ) プロジェクトと C# プロジェクトを含むソフトウェアを .NET 3.5 から 4.0 に移行しました。私たちは MsBuild を使用してビルドし、C# と C++ のプロジェクトを同じ方法で扱うようになった MsBuild 4.0 の利点を享受しています。ただし、これまで解決できなかった問題が1つあります。
結果のバイナリをさらに処理するために、TargetOutputs ItemGroup を使用しています。これは、C# およびマネージ C++ (clr サポート) では正常に機能しますが、ネイティブ C++ アセンブリ (共通言語ランタイム サポートなし) は、プロジェクトが適切にビルドされていても、この ItemGroup に配置されません。
これは使用中のステートメントであり、その後 @(MyProjectsOutput) にはネイティブ C++ アセンブリが含まれていません。
<MSBuild Projects="@(MyProjects)" Targets="Rebuild" Properties="Platform=x64;Configuration=Release">
<Output TaskParameter="TargetOutputs" ItemName="MyProjectsOutput" />
</MSBuild>
何が原因でしょうか?ここでかなり立ち往生しています...よろしくお願いします。
エリック