2009-03-28 13 views
8

私はpriorの質問と回答を見ました。その1つの質問で、元のポスターはフォローアップの質問をしました。MSBuildが利用可能な場合、なぜNantを使用し続けたいのですか?

msbuildを使用する理由は何ですか?それは悪いですか?

私はその答えを見ませんでした。私はその逆も知りたい。ナントの魅力的な特徴は何ですか?

ナントにとっては、クロスプラットフォームが大きいと思います。 msbuildの場合は、通貨とVisual Studioとの統合です。これは正しいと思いますか?他に何か?

編集/追加:誰でも機能リストの比較がありますか?誰かが「ナントは箱からすぐに多くの機能を備えている」と言った。どれ?

これらのプロジェクトを組み合わせて、相互に利益を得るように努力するのは理にかなっていますか?誰かMSに、WiXのようなコミュニティにmsbuildを提供したいと願っていますか?チャンスは何ですか?

EDIT2:私はちょうどthis prior discussionを見つけましたが、私は以前にそれを見つけることができませんでした。

+0

クロスプラットフォーム - モノはcsproj(msbuild)も読みます。 –

+0

oooo、cool。モノのビルドツールは...? – Cheeso

+0

申し訳ありません - 私はそれを改訂したはずです。 * nant *はmsbuildファイルでうまく動作します –

答えて

14

ナントは、箱から出してより多くの機能を持っていますが、のMSBuildはそれがはるかに容易に再利用可能なMSBuildのスクリプトを構築することができはるかに良い基本的な構造(アイテムメタデータ岩)があります。

MSBuildは理解するのに時間がかかりますが、一度すればそれはとても良いです。

学習教材:サイード・イブラヒムHashimi(月、2009)によって

+1

私はまったく逆の経験がありました。 MSBuildスクリプトが混乱し、NAntスクリプトが直感的でした。私は、人々がツールを自分自身で比較し、自分たちの結論を引き出すことを提案します。 – TrueWill

2

あなたは続けるだろうすでに使用しているため、ナントを使用しています。 msbuildを使用していて、なぜナントに切り替えるのか知りたいのであれば、答えは本当に切り替える必要はありません。少なくとも、あなたはanywere行くMSBuildのありえないを知って、NAntのhasntはそれに固執するのに十分な理由があるかもしれないことを、NAntのは、JavaのためのAntをオフに基づいていることを考慮すると、2007年12月

2

以降に更新されて。他のビルドツールはAntに基づいています - PhingはPHP用です。私がこのツールを使い始めたとき、私はすでにNAntに精通していたので、すぐにそれを取り上げました。我々はMS-ビルドが利用可能になる前にNANT上で起動するので

1

我々はハイブリッドアプローチを使用しています。しかし、MS-Build cnaは依存していないプロジェクトに対しては並列ビルドを行いますが、適切な状況ではビルド時間が大幅に短縮されます。 NANTをSVNとやり取りし、展開し、MS-buildをコンパイルするだけで、ビルド時間は約45%YMMV短縮されます。

2

私は単純にNAntの使いやすくを見つけます。私は、これは一部のAntでの私の背景によるものですあえて言うが、私はMiscUtilのためのMSBuildファイルを構築するよりもはるかシンプルな仕事であることをプロトコルバッファのためのNAntのファイルを構築しました。(今でもMiscUtilビルドには私が含めることはできますが、できないことがあります。タスクの出力をテキストファイル、IIRCにダンプすることは非常に難しいようです。)概念は簡単で、ファイルコレクションが評価される時点での邪魔されないようにしてください。

私は以前、私が以前考えていたセットアップを使用するのが好きです。私は "main"ビルドファイルにNAntを使用しますが、MSBuildを呼び出して、私の.NETプロジェクトをコンパイルする "ステップ。同じプロジェクトの2つのビルドシステムを持っているという考えは嫌ですが、基本的にMSBuildの部分を完全なビルドシステムとして扱わず、手軽にコンパイルすることができます。 (私はVisual Studioを介してのみそれと対話します)私はプロトコルバッファを非常に簡単にこのように構築することができました、私はMSBuildを使用した場合私は同じ経験を持っていただろうと思った。すぐに私はモノでそれすべてを構築しようとするつもりだ

- 私たちは戦略がどのようにポータブルわかりますその時点で(2.4がリリースされ、その後GMCSで致命があるまで)...

+0

どうしたの? 3年後、ビルドシステムについてどう思いますか?まだ "msbuild inside nant"をお勧めしますか? – Weeble

+0

@Weeble:プロトコルバッファについては、今はMSbuildを完全に使用していますが、ビルドシステムは正直に分かりません。野田時代には私は本当にビルドシステムを持っていません。私はpsakeについて良いことを見てきましたし、しばらくそれを把握する必要があります... –

1

一部頭に浮かんだのポイント:

  • セットアップを構築するためwixを使用している場合は、Windowsワークフロー財団(* .xomlファイルをコンパイルし、おそらくこれは、WPFについても同様である)
  • で作業している場合は、MSBuildのを使用する必要があります。 .msiファイルを使用すると、Visual Studioやmsbuildを使ってwixスクリプトをコンパイルすることができます(erroの場合r VSはwixスクリプトの問題のある行にジャンプすることができます)
  • msbuildは、開発/ Visual Studio環境と同様のビルド環境を持つことができます(たとえば、msbuild postbuildイベントを使用してビルドする場合、 * .csファイルからcscタスクのリスト...)

ここでは、NAntContribのmsbuildタスクのNAntスクリプトを使用しています。

関連する問題