Skip to content
This repository was archived by the owner on Jul 11, 2018. It is now read-only.
Thomas Broust edited this page Sep 24, 2014 · 46 revisions

The Command Line Parser Library offers to CLR applications a clean and concise API for manipulating command line arguments and related tasks.

A lot is supplied out of the box, but almost everything is customizable when necessary.

  • It allows you to display an help screen with an high degree of customization and a simple way to report syntax errors to the user.
  • Everything that is boring and repetitive to be programmed stands up on library shoulders, letting you concentrate yourself on core logic.

This library provides hassle free command line parsing with a constantly updated API since 2005.

This wiki refers to latest stables, if a beta version is available in github master branch please refer to Latest Beta.

At glance

  • Library available via NuGet:
  • Latest 1.9 version: Install-Package CommandLineParser19.
  • Latest 2.0 version: Install-Package CommandLineParser20.
  • One line parsing using default singleton: CommandLine.Parser.Default.ParseArguments(...).

Overview

The command line input, read from the standard entry point as string array, is then pushed in an instance of a custom type decorated with library attributes (see fake objects from test project as reference). You just create this class with one field for each option value you want to make persistent (and a special field for non-option values). Rules about command line options are engraved in your custom type from library attributes.

Benefits

  1. Remove from each application the code specific for command line parsing.
  2. Promote code reuse through a consistent, clear and easy to use API.
  3. The API is lightweight, has no external dependencies and is easy to integrate within an application.
  4. The project and its documentation are continuously updated and extended.
  5. It has been used for years in closed and open source projects.
  6. This project has also grown through the interaction of enthusiastic users and from constructive criticism.
  7. Comments and various types of communication are taken seriously by the author.
  8. Warp speed start with templates.