私は TFS2012 で Visual Studio 2012 ビルド定義を使用しており、.csproj と .vcproj (それぞれ c# と c++) の両方を含むソリューションをビルドするように 1 つの定義が設定されています。ビルド サーバーでソリューションのローカル ビルドを実行すると、問題なく動作します。ビルド出力は、すべてのプロジェクト (最も重要なのは C++ プロジェクト) がビルドされていることを示しています。プレビルド、ポストビルド、全体で 9 ヤード。ただし、まったく同じソリューションをビルドするビルド定義を実行すると、C++ プロジェクトがビルドされないように見えます。ビルド レポートはエラーなしで返されますが、ビルド ログは C++ プロジェクトに対して次の情報のみを返します。
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE....\vc\vcpackages\VCBuild.exe /override:"[ソリューション ファイルへのパス].Mixed Platforms.Debug.vsprops" [へのパスプロジェクト ファイル] "Debug|Win32"
私が期待しているのは、はるかに長いビルド レポート (プロジェクトが実際にビルドされたことを示す) ですが、残念ながら、C++ プロジェクトをビルドする試みが欠けているように見えます。言うまでもなく、ビルド出力には、c++ プロジェクトからのアセンブリまたは .pdb が含まれていません。
Visual Studio 2008 がインストールされていないことが問題であるという考えをなくすために、ビルド サーバーには Visual Studio 2008 がインストールされており、すべての正しいファイル (vcbuild. exe および vcprojectengine.dll)。
C++ プロジェクトがビルドされない理由はありますか? 助けてくれてありがとう!
更新_ _ _ _ _ _ _ _ _ ____
問題が変更されました。かなりスリムなビルド ログが原因で、c++ プロジェクトがビルドされていないという印象を受けました (指定されたビルド定義のドロップ場所にプロジェクトの出力が表示されなかったため、この考えで実行しました)。少しの調査 (およびいくつかの非常に役立つ提案!) の後、問題は C++ プロジェクトの出力ディレクトリ プロパティが C# プロパティのように動的に変更されないという単純な問題に絞り込まれました。これらの値を手動で変更してビルド定義を実行すると、ビルド定義が C++ プロジェクト ファイルの既定の出力ディレクトリ プロパティを使用することが証明されました。
私の一時的な解決策は、これらの出力を必要なフォルダーにコピーするために少しスクリプトを作成することです。私の投稿の質問をさらに進めるために、これらの C++ プロジェクトの出力ディレクトリ プロパティを C# プロジェクトのように動的に変更する設定はありますか?