質問
の違いは何ですかOpenWrapとNuGet.う。
解決
OpenWrapはオープンソースプロジェクトでは提供するための依存関係管理用途では、構築時のもとで行います。
そして、最も優れた特徴を標的で動的解像度の依存関係のため、これまでの複合コンポーネントのラインナップ用途では、webアプリケーション開発やシステムです。この実装は非常に異なっNuGetます。
これらのことに異なる(と思うが忘れられかねます)。
- 無依存してvisual studioおよび生産性の向上でコマンドラインによるUI
- 無依存ユー,流れが独自のコマンドシステムをまとめて見ることができる開発、展開を実行す自分のコマンドですからシェルのo.exe ツール)からMSBuildそのものです。
- OpenWrap用OpenWrapを構築-展開そのもので、念のサービスで確張ー向けの各ステップです。
- はシステム全体のリポジトリのパッケージ、デプロイすることはできますがご用コマンドはまるかどうかに関係なく、た溶液
- 支援の動的依存関係解決ランタイム時において、だいたいと
- は拡張可能なパッケージ形式として購入することができます新しいタイプの依存パッケージとしてOpenWrap使いいただきてお申し込み
- 対応OpenWrapパッケージNuGetパッケージおよびリポジトリ
- テらの合併症のXMLおよび種類ごとに全て別々の、単純なテキストベースのDSLsとのつながりやすさを学ぶ
- 支援統合ビルドできますので、構築パッケージソリューションを一度に
- 対応カスタムリポジトリのネットワーク共有できる公開からopenwrapシェルは、msbuild業務
- 提供依存関係の平準化、自動的に選択を組み合わせのバージョンのパッケージを解決
- 簡単に、ios、androidとmac用にc#統合と変更はございご依存関係が反映されVSム
- 図間の統合を意味することで作ることができる、パッケージに展開パッケージと同じ工程では、MSBuildスクリプトからのコマンドライン
- 伸ビルダーできるということです変更をどのように構築の実行内OpenWrap
- 支援のためのランナーの試験、出荷試験とパッケージ
- 利用支援MSBuildの伸展性はポイントを組み立てを参照し、紅葉のコードを構築した。ま艦連星 すopenwrapコードの依存関係, だけで構築します。
これだけの違いにも直結しているので、どこに何を問うので、かなり狭いですようにしている他のパッケージマネージャ。
他のヒント
物事のヌゲット側からのいくつかの考えを抱きしめたかっただけです。 Sebは、指摘する価値のあるいくつかの詳細を除外します。
- 私たちのプライマリUIはVSベースですが、コアNugetアセンブリにはVsとの関係はありません。 ASP.NET Webページ製品には、Webベースのパッケージマネージャーがいます。 Nugetを使用して実行時に自分自身を更新するWebサイトを構築する例を示すブログ投稿を書きました。 http://haacked.com/archive/2011/01/15/building-a- self-updating-site-using-nuget.aspx
- Nugetは強力なPowerShellコンソールを提供します。 Nugetパッケージは、コンソールに新しいコマンドを追加できます。見る http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/. 。前と同様に、これはNugetの1つのクライアントであり、Nuget Coreはそれを必要としません。
- NUGETは、VS拡張機能ギャラリーからインストールでき、すぐに簡単に始められます。
- NUGETは、パッケージのセットを含むディレクトリ(またはネットワーク共有)でクライアントを指すことをサポートし、リポジトリとして自動的に扱います。したがって、Odataに対処したくない場合は、そうする必要はありません。ただし、ギャラリーの実装も含めて、いずれにせよ、Odata/XMLを手動で処理する必要はありません。
- Nugetは、アプリケーションの一部としてNugetの一部を展開する必要はありません。それは手を離したままで、nugetなしで課題を抱えて依存関係を展開するための手順を自動化することに焦点を合わせています。明確にするために、Sebが指摘しているように、OpenWrapもそうではありません。 Nugetもこれを必要としないことを明確にしたかっただけです。
Nugetの重要な教義の1つ(およびOpenWrapの重要な違い)は、作業方法を変えようとしないことです。代わりに、あなたが今日していることをするのがずっと簡単になります。
たとえば、バーライブラリに依存するFooライブラリを使用しようとしていると言います。今日、あなたはそれらのライブラリを手動で見つけ、それらをあなたのマシンにコピーし、それらに参照を追加する必要があります。その後、その後、新しいバージョンが出てきて、同様の動きを経て、それらを更新することになります。
このようなシナリオでは、NugetとOWの両方がこれらの参照を簡単に持ち込むことができますが、重要な違いは、Nugetが完全に非侵襲的な方法でそれを行うことです。つまり、バイナリをマシンに入れ、手動で行ったのと同じように参照します。それが完了した後、プロジェクトファイルは完全に「正常」になり、ビルドやランタイムでNugetと関係がありません。
これが意味することは、Nugetを介していくつかのライブラリを入手し、プロジェクトをソースコントロールに入れると、別の開発者がNugetを必要とせずにプロジェクトを使用できることです。
OpenWrapアプローチにもメリットがありますが、そのルートに行くには、OpenWrapをずっと使用することをいとわず、簡単に移動することはできません。
他にも多くの違いがあります(Nugetのリッチサポートなど)が、これは私がこの2つの最も根本的な違いと見なしているものです。