TeamCity を使用して複数のプロジェクトをビルドする msbuild スクリプトがあります。いくつかの C++ ビルダー 2010 プロジェクトといくつかの C# プロジェクトをビルドします。また、それらのインストーラーを作成し、すべてをパッケージ化します。追加したい新しいプロジェクトがありますが、問題は.Net Framework 4 を使用してビルドされているのに対し、他の古いプロジェクトはビルド スクリプト自体と共に .Net Framework 2 をターゲットにしていることです。
TeamCity の設定では、msbuild 2 を使用してビルドするように選択されており、それを 4 に変更すると (下位互換性があることを願っています)、大量のエラーが発生します。
TeamCity で新しいビルドステップを作成することなく、代わりに msbuild 4 を使用して特定のプロジェクトをビルドする良い方法があるかどうか疑問に思っていました。
exec コマンドを使用して msbuild 2 から msbuild 4 を起動しようとしましたが、正常に動作しました。しかし、おそらくそれを行うための「より良い」方法があります。
「うまくいった」例
<Exec Command="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild /t:FooBar /p:Configuration=Debug ..\FooBar\FooBar.sln"/>
更新: msbuild と .Net Framework 4 を使用して古いものをすべてコンパイルすることができました。したがって、これはもはや実際の問題ではありません。