はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

nupakファイルからインストールする

nugetとは

docs.microsoft.com
nugetは、Microsoftがサポートする.NET/.NET Coreのコード共有手段です。ライブラリなどの依存性なども記述できるので、ある機能のライブラリを使いたいときにnugetから取得することで必要な関連ライブラリなども入手することができます。

nupakファイルについて

nugetには、nupakファイルが登録されています。nupakファイルの構造は、zipファイルになっていますので、nupakファイルの拡張子をzipに変更することで内容をみることができます。
libフォルダには目的のライブラリのバイナリファイルが格納されていますが、その他、様々な情報が格納されています。

nugetとからライブラリを適用する

通常、nugetでライブラリを適用する場合、パッケージソース=nuget.orgを指定して適用したいライブラリを参照から探して適用します。
f:id:hatsune_a:20210326090843p:plain
[プレリリースを含める]にチェックすればプレビュー版なども適用できるので便利です。
ライブラリ開発側もアップデートの配布やプレビュー配布なども自分で行わなう手間が省けてよいですね。

nuget.org以外からのライブラリ適用について

しかし、プライベートに配布したい場合はどうしたらいいのでしょうか。
そのためには、nugetに登録するnupakファイルを作成したら、そのファイル自体をプライベート適用してもらいたい人に配布する(例えば、githubのprivateリポジトリや、Teamsのプライベートチャネルなどを使ってもいいでしょう)方法となります。

では、nupakファイルをもらった側はどうしたらVisual Stduioのプロジェクトに組み込むことができるでしょうか。
当然、Visual Studioのプロジェクトでnugetパッケージの管理を開いてもローカルにあるnupakファイルは参照対象にはなりません。
ローカルにあるnupakファイルを参照するためには、Visual Studioでnugetの参照先としてローカルフォルダを追加する必要があります。

パッケージソースを追加

Visual Studioで[ツール]-[NuGetパッケージマネージャー]-[パッケージマネージャー]メニューを選択します。
f:id:hatsune_a:20210326092558p:plain

左上の[+]ボタンをクリックして、追加されたパッケージソースの参照先としてnupakファイルを格納したフォルダを指定します。
f:id:hatsune_a:20210326092746p:plain

あとは、該当のプロジェクトのnugetパッケージ管理で、パッケージソースを「すべて」にしてあげると、参照の中にローカルに保存したnupakファイルも含まれるようになります。
f:id:hatsune_a:20210326093220p:plain