Nugetでパッケージを作ってみる
Nugetパッケージを作ってみたので、作り方を少しメモしときます。
実際にやってみると、思ってたよりだいぶ簡単に作れそうです。
Nugetのパッケージを作るには、以下の二通りの方法があります。
どちらの方法からでも、.nupkgという形式のファイルが出来上がります。
こいつをNugetギャラリーにアップロードして公開することもできますが、 そこまでせず、自分のローカルPC上にファイルを置いて、そこをプライベートなリポジトリとして使うこともできます。
今回は、このローカルPC上にファイルを配置しておく方の使い方を試してみました。
参考リンク
http://www.slideshare.net/kiyokura/nuget-16200386
http://www.buildinsider.net/enterprise/nugetprivate/01
↓ちょっと前の記事ですが、この動画を見れば、gui版のだいたいの使い方がわかると思います。
http://blogs.msdn.com/b/chack/archive/2013/03/25/visual-studio-spirit-aspnet-nuget.aspx
準備
まずは準備。 https://www.nuget.org/
以下のページからNuget.exeをダウンロードしてきます。
https://dist.nuget.org/index.html
このexeはただのコマンドラインツールなので、はじめのうちは以下のNuGet Package ExplorerというGUIツールもダウンロードして使いながら慣れていけばよいのかな、と思います。
↓のページの「click here and you're done」というとこのリンクからインストールできます。
https://docs.nuget.org/Create/Using-a-Gui-to-build-packages
ClickOnceでのインストールがイヤという場合には、↓からzip圧縮された実行ファイル類をダウンロードできます。
https://npe.codeplex.com/releases/view/68211
作ってみる
一応、公式のドキュメントはこちら。 https://docs.nuget.org/create
guiから作ってみる
手始めに、NuGet Package Explorerを使って作ってみます。
WPF用にBindableBaseやRelayCommandなど、毎度使う各種基底クラスやヘルパークラス類を、Nugetパッケージとしてまとめてみました。
↓こんな感じのパッケージ。
細かい作り方は、参考リンクに上げた動画が詳しいので、ここでは省略。
これを保存すると、.nupkg形式のファイルを作ることができます。
基底の名前空間の利用
ちなみに、ライブラリの参照を加えるのではなく、ここのサンプルのようにコードをプロジェクトに追加する場合には、 Nugetパッケージ利用側のプロジェクトの名前空間に置き換えたい、という場合もあるかもしれません。
そんな時には、ファイル名を「元のファイル名.pp」という名前にしておき、ファイル内の置換したい部分に、$rootnamespace$
というキーワードを入れておくと、その部分がプロジェクトの基底の名前空間に置換されます。
ローカル環境のギャラリー
nugetは通常は、インターネット上のnugetギャラリーからパッケージの取得を行います。
VisualStudioのオプションから、以下のようにパッケージ取得元にローカルのフォルダを追加します。
こうすると、Nugetパッケージマネージャから参照できるようになります。
こんな風にローカルPCのフォルダに自分用のプライベートなNugetパッケージ作って置いておくのも便利かも。
職場とかだったら、共有フォルダに.nupkg保管場所を作って、開発チーム内のローカルなNugetギャラリーとして共通ライブラリなどの管理するのもよさそうですね。