NuGet package Ikc5.TypeLibrary

In this post I would like to announce my first NuGet package, Ikc5.TypeLibrary. The library contains the extension class with methods that manipulate with properties that has DefaultValueAttribute and copy values of properties between objects, and the service that provides lite object with public properties from parent object.

The package is open-source project, full code is accessible on GitHub NuGet repository. Package is published at NuGet Gallery, and symbol’s package was pushed to SymbolSource.org. The post Xunit and dynamic describes tests that cover simplified version of LiteObjectService class. Example of the using this package is considered in the post Examples of using Ikc5.TypeLibrary.

Process of creating and pushing package described in NuGet’s documentation Create and publish a package, Creating a Package, and Creating and Publishing a Symbol Package.

In addition, I used additional parameters for creating and pushing packages. So there is nuspec file:

cd $ProjectDir$
nuget spec
<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>IReznykov</owners>
    	<licenseUrl>http://opensource.org/licenses/MS-PL</licenseUrl>
    <projectUrl>https://github.com/IReznykov/NuGet</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>Initial release. Library contains LiteObjectService and TypeExtensions.</releaseNotes>
    <copyright>Copyright ©2016 Illya Reznykov</copyright>
    <tags>reflection typebuilder defaultvalue serialize</tags>
  </metadata>
</package>

Command that creates package with symbols

cd $ProjectDir$
nuget pack $ProjectName$.csproj -Prop Configuration=Release;Platform=AnyCPU -symbols -Verbosity detailed -OutputDirectory ..\Publish

and pushes it to both storages

cd $SolutionDir$\Publish
nuget $ProjectName$.$Version$.nupkg API-key -Source https://www.nuget.org/api/v2/package

1. All used IP-addresses, names of servers, workstations, domains, are fictional and are used exclusively as a demonstration only.
2. Information is provided «AS IS».

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.