Help us understand the problem. What is going on with this article?

NuGetパッケージを作成する。Visual Studioで。

More than 1 year has passed since last update.

はじめに

自分で作った便利なライブラリをみんなにも使ってほしい、と思ったらNuGetパッケージとしてギャラリーに公開できるのでやってみましょう。
作り方は簡単、Visual Studioからです。
Visual Studioが便利すぎて、Visual Studioがなくなったら何もできないレベルになってしまいそうで怖いです。
今回の内容は公式のこちらを御覧ください。
特に新しい内容ではなく、私の備忘録です。

クラスライブラリを作成

まずは何は無くともVisual Studioからクラスライブラリ(.NET CoreでもStandardでも何でも)のプロジェクトを作成します。
テストであれば、適当にパブリックなクラスとメソッドでも作ってビルドが通るようにします。

パッケージの情報の設定

プロジェクト<プロジェクト名>のプロパティを選択します。
image.png

プロジェクトのプロパティが開くので、左側のタブから「パッケージ」タブを選択します。
そして、各項目を適宜入力します。
image.png

ソリューションの構成Releaseにしてから、ソリューションエクスプローラーからプロジェクトを右クリックしてパックを選択します。

image.png

これでプロジェクトフォルダ\bin\Release.nupkgファイルが生成されます。

NuGetギャラリーへの公開

nuget.orgのアカウント作成

nuget.orgへ移動し、アカウントを作成するかサインインしてください。
adfasdfa.png

次に右上のメニューからAPI Keysを選択します。
slakdfjasdlkfj.png

Createの項目をクリックし、公式ページの説明に従ってキー名などを入力して、「Create」ボタンを押します。
flaskdfjalsdf.png

すると以下のように表示されるので、保管しておいてください。

flaskdfjalsdf.png

ではコマンドプロンプト(など)を開き、.nupkgファイルが出力されたbin\Releaseフォルダへ移動します。

そして、公式の説明のとおり以下のコマンドを入力します。

nuget push .nupkgファイル APIキー -Source https://api.nuget.org/v3/index.json

実行するとこんな感じです。

\bin\Release> nuget push .\AlexaPersistentAttributesManager.1.0.0.nupkg APIキー -Source https://api.nuget.org/v3/index.json
Pushing AlexaPersistentAttributesManager.1.0.0.nupkg to 'https://www.nuget.org/api/v2/package'...
  PUT https://www.nuget.org/api/v2/package/
  Created https://www.nuget.org/api/v2/package/ 1636ms
Your package was pushed.

確認

nuget.orgへ移動し、右上のメニューからManage Packagesを選択します。
すると、以下のように先程アップロードしたパッケージが表示されると思います。

adfasdfasdfasd.png

また、しばらくしてからnuget.orgでパッケージを検索すると検索結果に出てきます。

image.png

もちろん、Visual StudioのNuGetパッケージマネージャーでも検索結果に出てきます。
image.png

おわりに

Visual Studioではサーバーサイドからモバイルアプリまで様々なアプリケーションの開発だけでなく、NuGetパッケージの作成も簡単にできてしまうことがわかりました。
Visual Studio廃人になってしまいそうです。
こんなに簡単にパッケージを公開できるので、(自分が)便利(と思う)なライブラリを作ったらどんどん公開するといいとお思います。

ちなみに、今回公開したパッケージは「C#でAlexaスキルを作成する際に、DynamoDBへのデータの格納をちょっぴり楽にする」というニッチなものになっています。

そう、C#でAlexaスキルも作れるんです。すごいですね!

shuhey
候補にC#があるならC#でやりたい。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした