0

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 を使用して古いものをすべてコンパイルすることができました。したがって、これはもはや実際の問題ではありません。

4

1 に答える 1

0

「正しい」方法で解決しました。新しいmsbuildを使用してすべての古いものをビルドし、それらが意図した.Net Frameworkをターゲットにできることを確認してください。execを使用するアプローチも機能しましたが、常にハックのように感じました。

于 2012-08-10T07:34:04.893 に答える