メインメニューを開く

差分

NuGet

78 バイト追加, 2015年2月20日 (金) 07:34
NuGetが[[PEAR]]や[[RubyGems]]などと大きく異なる点としては、PEARやRubyGemsでは導入した[[ライブラリ]]は基本的に[[共有ライブラリ]]として展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]]の[[root権限]](管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。この仕組みは[[Apache Maven]]の[[jarファイル]]を[[インターネット]]上から取ってくる部分とほぼ同じだが、NuGetではパッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより[[公開者]]が行方不明になってもパッケージだけはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。
このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[Apache MavenASP.NET]]向け」などという検閲を突破するための前置きを付け、[[jarファイルjQuery]]を取ってくる部分とほぼ同じだが、パッケージをNuGetプロジェクトで集中管理しているという点が異なる。これによりなどの[[公開者JavaScript]]が行方不明になってもパッケージはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。 このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]向け」などという検閲を突破するための前置きを付けて[[jQueryライブラリ]]などのJavaScriptライブラリをはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。をはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。
なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。
匿名利用者