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
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».