質問: 去年から会社で NuGet でプロジェクト ライブラリを管理するようにし始めています。 その時特に考えたこともなくそのまま使い始めました。今日新人の方になぜ、ライブラリを直接プロジェクトにコピーして、代わりに NuGet でプロジェクト ライブラリを管理するのかを聞かれました。 えーとー。。。 頭に浮かんだ答えはもしだれかライブラリを svn にチェックインしなかったら、いちいちネットで検索してマッチするバージョンを探さなくでもいいので便利だよと答えました。でも、これ以外別の理由がないのかなぁと思ってここで質問をして見ます。もし、NuGet でプロジェクト ライブラリを管理すべきだよという理由などをご存知方、また NuGet でプロジェクト ライブラリを管理でされている開発の先輩たちからアドバイスを聞きたいです。
回答: `NuGet`が出てくるまでは開発拠点が分散しているときに依存ライブラリのバージョンを合わせるのが面倒だったり、環境依存ぽい動作の不整合に悩まされたりしていました(おそらくライブラリのバージョンが正しく合っていないなどの人的ミスが原因)。 `NuGet`導入後は、こちらできちんと動けば、あちらの開発環境下でも同様に動くということが保証しやすくなったように思います。 また、管理ライブラリは`NuGet`の設定ファイルさえあればビルド時に自動的に取得できるので、プロジェクトのビルドに必要なソースファイル等(svn、gitなどでの管理対象ファイル)が小さくできることも個人的には気に入っています。