集めたdllファイルをNuGet Packageにしてみました
概要
最近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
パッケージ化してから共有するのも懸念があって、パッケージのページに説明をしていますが、クレームがきましたら、版権の対応も必要かもしれません。