- You must have a NuGet account and must be an owner of the campaignmonitor-api package (NB: check secret server credentials).
- You must have the
nuget
command line tool installed. - The Rakefile used to automate the process of releasing the package requires that you have Cygwin, Ruby, and Rake installed. If you don't, you'll need to manually following the processes automated by the rake tasks.
-
Increment version numbers in the following files, ensuring that you use Semantic Versioning:
createsend-dotnet.nuspec
createsend-dotnet/CreateSendOptions.cs
createsend-dotnet/Properties/AssemblyInfo.cs
-
Add an entry to
HISTORY.md
which clearly explains the new release. -
Ensure that all solutions build successfully.
-
NB: You may need to clear the bin and obj folder when you are building the different solutions (dotnet, dotnet.net20, dotenet.net35)
rake solutions
-
Commit your changes:
git commit -am "Version X.Y.Z"
-
Tag the new version:
git tag -a vX.Y.Z -m "Version X.Y.Z"
-
Push your changes to GitHub, including the tag you just created:
git push origin master --tags
rake build
This builds the package locally to a file named something like campaignmonitor-api.X.Y.Z.nupkg
. You're now ready to release the package.
Before you upload the package to NuGet, you need to tell NuGet which API key to use for uploading. You can do so like this:
nuget setapikey {apikey}
You should only need to do this the first time you use upload the package. The API key should be cached locally after that.
Then, release the package:
rake release
This publishes the package to NuGet. You should see the newly published version of the package there. All done!