ベストアンサー1
今週、同様の調査を行いました。判明したことは次のとおりです。
ナント:
- クロスプラットフォーム (Linux/Mono をサポート)。たとえば、Web サイトを複数のターゲット (Linux Apache と Windows IIS) にインストールする場合に便利です。
- Ant と構文が 95% 類似しています (現在の Ant ユーザーや Java ビルダーが簡単に習得できます)
- ビルドの一部としてユニット テストを実行するための NUnit との統合、およびドキュメントの作成のための NDoc との統合。
MSビルド:
- .NET に組み込まれています。
- Visual Studio と統合
- Visual Studio で MSBuild を使い始めるのは簡単です。すべては舞台裏で行われます。さらに深く理解したい場合は、ファイルを手動で編集できます。
主観的な違い: (人によって異なる)
- NAntのドキュメントはもう少しわかりやすいです。例えば、MSBuild タスク リファレンス「Cscタスク - Cscタスクとそのパラメータについて説明します。」(「助けて」いただきありがとうございます)と記載されています。NAnt タスクリファレンス「csc - C# プログラムをコンパイルします。」アップデート:私は気づいたMSBuild ドキュメント改良されて、今でははるかに優れています (おそらく NAnt と同等)。
- Visual Studio 内から直接ビルド スクリプト ソース (*.*proj ファイル) を編集する方法を理解するのは簡単ではありません。NAnt を使用すると、Visual Studio で .build スクリプトを XML ファイルとして扱うことができます。
- どうやら、Visual Studio では、Web アプリケーション プロジェクトは既定で *.*proj ファイルを取得しないため、MSBuild を実行してデプロイメント スクリプトを作成する方法さえも理解するのが非常に困難でした。
- NAnt は Visual Studio に組み込まれていないため、アドインまたは「外部ツール」として追加する必要があります。設定が少し面倒です。
- (編集:)同僚の一人がこれを提案しました。クルーズコントロール継続的インテグレーションのために、CruiseControl はすぐに使用できる状態で NAnt とうまく統合されます。アップデート:クルーズコントロールにはMSBuild タスク。
- 主観的な違いに関する完全かつ最新の議論については、以下のコメントを参照してください。