nuget.orgにNuGetパッケージを公開/更新してみる
とある.NETライブラリを作ってnuget.orgに公開しましたので、nuget.orgにNuGetパッケージを公開/更新する方法をまとめます。
NuGetとは?
.NET向けのパッケージマネージャーです。 中央リポジトリ・パブリックホストとしてnuget.orgがあります。
環境
Windows Visual Studio 2022 Community
パッケージ公開
.nupkgの用意
Visual Studio 2022上で行います。
パッケージ設定
プロジェクトプロパティを開き、パッケージ
セクションまで移動し、必要項目を設定します。
nuget.orgに関連する設定項目としては、パッケージID
~ リリースノート
辺りとなります。
また、README
やライセンス
の項目を設定することで、nuget.org上でそれらを表示できるようになります。
パッケージング
ソリューション構成をRelease
にします。
ソリューションエクスプローラー上で、パッケージングするプロジェクトを右クリックし、パック
。
成功しました。
既定では.\bin\release
に~.x.x.x.nupkg
が出力されているはずです。
こいつをnuget.orgにアップロードします。
nuget.orgへのアップロード
nuget.orgにサインイン。
右上のSign In
からサインイン画面へと進み、Microsoftアカウントでサインインします。
Microsoftアカウントをお持ちでない場合は...作成する必要があります。
アップロード
サインインが完了したら、右上に表示されているユーザー名をクリックし、Upload Packages
を選択します。
こちらにアップロードします。
この際、README.md
やライセンス形態の指定がないとWarningが表示されます。
必要に応じて、Visual Studio上でプロジェクトプロパティ>パッケージのREADME
, ライセンス
の項目を指定しましょう。
最後にアップロード画面最下部のSubmit
ボタンを押して公開しましょう。
手順は以上となります。
画面に表示されている通り、nuget.org側での検証とインデックス作成が終わると晴れて公開となります。
パッケージ更新
プロジェクトプロパティを開き、パッケージ
セクションまで移動し、パッケージバージョン
の値を変更します。
この際、パッケージID
を変更してしまうとnuget.org上では別パッケージとして認識されます。
公開時と同じようにパック
するとバージョンの異なる.nupkg
が出力されます。
こいつを公開時と同じようにnuget.orgにアップロードして更新は完了となります。
パッケージ削除
nuget.orgでは公開したパッケージの削除は許可されておらず、「検索結果に表示させない」(非表示にする)ところまでしかできません。 削除したいパッケージに他のライブラリが依存している場合、削除してしまうと他のライブラリが動かなくなってしまうためこのような仕様になっています。
パッケージを非表示にする
右上に表示されているユーザー名をクリックし、Manage Packages
を選択します。
Manage Packages
画面のPublished Packages
から非表示にするパッケージの鉛筆アイコンをクリックします。
開いた画面のListing
セクションを開き、非表示にするバージョンを選択し、List in search results.
のチェックボックスを外してsave
ボタンをクリックします。
バージョンごとに上記の操作をする必要があるため、多い場合はNuGet CLIを使ったほうが良いかもしれません。
以上でパッケージの特定バージョンを検索結果から非表示にさせることができます。
まとめ
以上の手順でnuget.orgへ自作.NETパッケージの公開/更新/削除(非表示)が可能となります。お疲れ様でした。
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。