集めたdllファイルをNuGet Packageにしてみました

.dllファイルをNuGet Package化にする手順です。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

概要

最近Amazon GameLift周りの勉強が始まって、ドキュメンテーションを読んでも、AWS総合的な話になったり、不十分の部分もあったり、どちのSDKを使うかという疑問が出たりことがありました。そういう頭痛のようなことを発生させない、すぐ開発できるように、必要な.dllファイルをまとめて、NuGet Packageを作ろうと思いました。このブログは既存.dllをパッケージ化してからNuGetにアップロードする記事です。(自作コードをパッケージ化するのはまた別の話です)
 

テスト環境

CPU : Intel i7-6920HQ
GPU : AMD Radeon Pro 460
MEMORY : 16GB
System : Windows 10
Others : .NET 5.0, Windows Terminal(cmd.exeなどコマンド実行できるソフトであれば大丈夫)

 

手順


1.まずMicrosoft Storeに入って、NuGet Package Explorerをインストールします。

 

2.NuGet Package Explorerを起動し、Create a new packageを押します。

 

3.画面右側Package contentsのとこに右クリックして、Add New Folderで新しいフォルダを追加します。(名前自由)

 

4.フォルダに必要な.dllファイルを入れます。そして画面左側のmetadataに具体の情報を記入します。完了したらメニューのFile -> Save As...で保存します。

 

5.NuGet Official Website 公式サイトリンクを開いて、Microsoft Accountでサインインします(持ってないなら登録してください)。完了しましたら、サイト上の部分にあるUploadを押します。

 

6.さっきNuGet Package Explorerで作成した.nupkgファイルをアップロードします。アップロード完了してから承認されるまでは少し時間かかります(恐らくパッケージサイズに関わるので、自分の場合は5分でしたが、最大1時間超えるのも可能だそうです)。

 

7.パッケージ承認完了、パッケージをプロジェクトに追加するコマンドを確認できます。

8.コマンドツールを起動し、テストプロジェクトを作れるパスまで入って、dotnet new console -n PackageTestで作ります("PackageTest"はプロジェクト名、名前自由です)。

9.コマンドツールでテストプロジェクトのパスに入って、パッケージを追加するコマンドを実行します。この記事の場合はdotnet add package devio.amazon.gamelift.server.lib.collection --version 0.0.1

 

10.PackageTest.csprojを開いて、追加されたパッケージが確認できます。

 

11.Program.csを開いて、パッケージにある.dllを認識できるかどうかを確認します。この記事の場合はよく使ってるAmazon GameLiftのusing宣言でテストして、問題はなさそうでした。

 

まとめ

.NET環境の開発作業はパッケージをNuGetで追加できれば、いろんなとこに.dllファイルを探すより楽です。ただ、集めた.dllファイルの版権は要注意です。今回の.dllパッケージ化してから共有するのも懸念があって、パッケージのページに説明をしていますが、クレームがきましたら、版権の対応も必要かもしれません。