2009-07-24 11 views
0

現在、数百の* .projとおそらくは相互依存関係のある50種類のソリューションを備えた巨大なコードベースを維持しています。2005年と2003年のコードベースが混在している場合のMSBuildとNAnt

すべてのコードベースは、.netまたは従来のC++のいずれかです。

現在のビルドプロセスは、自動化されたソースコントロールのプルを行い、devenv.exeを呼び出して各ソリューションを順番に構築する入れ子になったコマンドラインスクリプトです。

私は、より優れたビルドツールとデプロイツールを利用したいと思います。私はNAntまたはMSBuildのどちらかで解決したと思います。ここで

はこするです:

コードベースの約半分、残りの半分は2005年である2003年のVisual Studioの下で構築されていることは、この時点で、現在のIDEを楽しみ、それを移行するために政治的に現実的ではありません再検査が必要となり、リスクが発生します。

私の質問です - 誰もMSBuildを使用して、従来の2003年のソリューションを構築しましたか? devenv.exeを呼び出して従来のソリューションを呼び出す税関タスクを簡単に作成できますか?

この時点ではNAntのみ考慮する必要がありますか?

答えて

2

私はハイブリッドなアプローチがここでもベストかもしれないと思います。 VS2005プロジェクトにはMSBuildスクリプトを使用し、古いVS2003プロジェクト用にはNAntスクリプトを作成してください。両方を管理するビルドスクリプトが必要な場合は、NAntを使用してプロセスを制御し、NAnt MSBuildタスクを実行します。

ここでの欠点は、2つのビルドシステムに関するいくつかの知識を維持する必要があるということですが、とにかく長期的にMSBuildに移行するということです。

+0

MSBuildでは、古いVC2003プロジェクトを構築してNAntを残している既存のシェルスクリプトを起動することは可能でしょうか? –

+0

ええ、MSBuildスクリプトからバッチファイルを呼び出すことができると思います。 http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/2a58d361-c89b-4c0a-8884-18639aa63c7cは1つのURLですが、詳細は他にもたくさんあります。それはかなり簡単です。 – jsight

関連する問題