「NuGet」の版間の差分

編集の要約なし
 
(4人の利用者による、間の6版が非表示)
16行目: 16行目:
NuGetは大雑把に言えば、[[Perl]]の[[CPAN]]や[[Python]]の[[PyPI]]、[[PHP]]の[[PEAR]]、[[Ruby]]の[[RubyGems]]などに相当するものであり、[[.NET]]アプリケーションの[[開発者]]が[[オープンソース]]な[[ライブラリ]]を手軽に組み込めるようにするためのパッケージシステムである。
NuGetは大雑把に言えば、[[Perl]]の[[CPAN]]や[[Python]]の[[PyPI]]、[[PHP]]の[[PEAR]]、[[Ruby]]の[[RubyGems]]などに相当するものであり、[[.NET]]アプリケーションの[[開発者]]が[[オープンソース]]な[[ライブラリ]]を手軽に組み込めるようにするためのパッケージシステムである。


[[NuGet Addin for MonoDevelop and Xamarin Studio]]の登場により[[Mono]]系の各種[[プラットフォーム]]でも大部分のNuGetパッケージを手軽に利用できるようになった。たとえば[[MonoMac]]で[[Twitter]]関連ライブラリを利用するなども一発である。
[[NuGet Addin for MonoDevelop and Xamarin Studio]]の登場により、[[Xamarin Studio]]などにこのアドオンを入れることで[[Mono]]系の各種[[プラットフォーム]]でも大部分のNuGetパッケージを手軽に利用できるようになった。たとえば[[MonoMac]]で[[Twitter]]関連ライブラリを利用するなども一発である。


== 特徴 ==
== 特徴 ==
23行目: 23行目:
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。


[[Apache Maven]]の[[jarファイル]]を取ってくる部分とほぼ同じだが、パッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより[[公開者]]の行方不明になってもパッケージはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。
このような仕組みは[[Apache Maven]]の[[jarファイル]]を[[インターネット]]上から取ってくる部分とほぼ同じだが、NuGetでは更に一歩踏み込んでおりパッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより[[公開者]]が行方不明になってもパッケージだけはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。


このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]のための」などという検閲を突破するための前置きを付けた[[jQuery]]などのJavaScriptライブラリをはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。
このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]向け」などという検閲を突破するための前置きを付け、[[jQuery]]などの[[JavaScript]]の[[ライブラリ]]をはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。


なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。
なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。
32行目: 32行目:
NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。
NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。


[[OuterCurve Foundation]]は[[.NET Framework]]をはじめ[[Windows]]の世界に身を置く人々たちは[[オープンソース]]という文化に不慣れであるため、[[マイクロソフト]]が主導するかたちで強引に[[オープンソース]]の世界に誘うことを目的としているらしく、NuGetも[[オープンソース]]を推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。
[[.NET Framework]]をはじめ[[Windows]]の世界に身を置く人々たちは[[オープンソース]]という文化に不慣れである。そのため、[[OuterCurve Foundation]]は、[[マイクロソフト]]が主導する形で強引に[[オープンソース]]の世界に誘うことを目的としているらしい。NuGetも[[オープンソース]]を推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。


== 使い方 ==
== 使い方 ==
53行目: 53行目:
* NuGet 開発拠点 - http://nuget.codeplex.com/
* NuGet 開発拠点 - http://nuget.codeplex.com/


{{stub}}
[[category: パッケージ管理システム]]
[[category: .NET]]