C#/.net/NuGet: nuget デビューしたはなし
- usagi.cs ; わたしが欲しいと思った適当な機能たち for C#
数年ぶりに C# の実装を書いていて「きぶん」と「おもいつき」で書いてみたライブラリー的な。そのうち整理もするけれど、とりあえず今週末は nuget とかいう何かの author としての使い方の基本を覚える事にしたのです。
Microsoft の解説は、
- NuGet パッケージの公開方法 | Microsoft Docs
- Create and publish a .NET Standard package using Visual Studio on Windows | Microsoft Docs
- 次にここを見て「うちのプロジェクト、 Package タブないやん(´・ω・`)」
- Create and publish a .NET Framework package using Visual Studio on Windows | Microsoft Docs
- 次にここを見て「ほいほい、ほな nuget ... コマンドどこじゃ…パスも通ってないしNATIVEのCMDでもパス通ってないし、いつものところに入ってそうだけど探すのめんどくさー」
- NuGet Gallery | Downloads
…と、うろうろしながら nuget パッケージを作って nuget.org で owner として公開しました。
手順メモ:
- VS2017 Installer で NuGet の…と、いうのは実際問題どうでもよいので気にしない事にして IDE とかいんてぐれーてっどの事は忘れる。
- https://www.nuget.org/downloads で最新の Windows x86 Commandline を拾ってくる。ナマ・エグゼをダウンロードするドキドキ体験♥
- nuget.exe をどこか適当なところに置いて、端末エミュレーター的な何かから nuget.exe を叩いてサブコマンドリストが出る動作を確認。
- 私はどうせ Visual Studio で扱う
%HOMEPATH%/source/repos/
以下の dir の .sln の下の .csproj でしか使わないので、このrepos
にとりあえずで置いた。
- 私はどうせ Visual Studio で扱う
nuget.exe spec myproject.csproj
してmyproject.nuspec
を生成myproject.nuspec
を適当に編集- 先の Microsoft の案内によれば
licenseUrl
,projectUrl
,iconUrl
,releaseNotes
,tags
を適当に書いてね、との事なので書いた。- 先に repos を github へ公開しておいたので
licenseUrl
,projectUrl
はそこへリンクしただけにした。(ただし、どうもlicenseUrl
をパッケージ外のURLにするのは nuget.org 的には Deprecated ではあるらしい。) iconUrl
は Gravater の私のいつものアイコンの URL にしておいた。
- 先に repos を github へ公開しておいたので
- 加えて、
authors
,owners
は$author$
のままだと nuget.exe がエラーで死ぬので、適当に変数ではない値を書いておく必要があった。
- 先の Microsoft の案内によれば
nuget.exe pack
してmyproject.x.y.z.nupkg
をこさえる(myproject.nuspec
があるディレクトリーで行う)- ウェブブラウザーで https://www.nuget.org/packages/manage/upload から
myproject.x.y.z.nupkg
をアップロードする - README を URL から回収するユーザーインターフェースがあるので github の README.md の raw な URL など貼って取り込ませる。
↓ちなみに・w・
↑nuget.exe
は WSL の zsh から叩いても動きます(゜∀。)