Emily
Posted on November 29, 2021
In the last lab of OSD600, I have a chance to publish and release my static site generation application. I chose Nuget.org as my package registry. I have always loved Microsoft documentation as it is clear and easy to follow. This time, I simply followed their instructions and got my package available here.
Pack
To start, I needed to set the application's PropertyGroup in the project files
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>shinny_ssg</RootNamespace>
<PackAsTool>true</PackAsTool>
<PackageId>shinny_ssg</PackageId>
<Version>1.0.1</Version>
<Authors>Emily Phan</Authors>
<PackageOutputPath>./bin</PackageOutputPath>
<IsPackable>true</IsPackable>
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
Then you can use the command line to pack the package:
dotnet pack
This command generated a .nugkp in the /bin
folder.
Publish
The next part is publishing the package to nuget.org.
To prepare for that, I created a Nuget account and retrieved the API key. This key is used to identify your account to the Nuget Gallery.
After that, I ran this command to publish Shinny-ssg
dotnet nuget push shinny_ssg.1.0.1.nupkg --api-key <token> --source https://api.nuget.org/v3/index.json
And that was it, my tool was ready to use.
Testing
I asked one of my friends to test the tools. We have found a bug in my application. When she ran shinny-ssg -v
, she got Multiple options with name "v" found. This is usually due to nested options.
I realized that I did implemented the -v|--version twice and I did not specify it right in my Options class. I will fix this issue and update the version.
Publishing the package is a happy ending for the project I have worked on the last 2 months. After this, I understand more about a project's lifecycle: developing, testing and publishing.
Posted on November 29, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
January 24, 2024