这些是公用事业,可能需要一天的努力.投入几天编写良好的命令行处理似乎有点过分……但他们确实需要它.
我喜欢在命令行处理程序中使用的功能.我对任何有2或3个以下的开源项目感到非常兴奋.
>一致的语法,posix had a nice command line standard,但不一定是posix.
>能够为agruments提供简短名称.例如. “msbuild / t”==“msbuild / target”
>它支持良好的命令行解析,然后不受影响.我想要一些我的代码使用的东西,而不是在我的代码上强加模式的东西,例如我不想要回应一个事件的存在,这种事情.
>关注点的分离是足够好的,它的逻辑可以进行单元测试.
>哦 – 要求它从类属性中读取属性(在.NET配置类中)是多少?
>我喜欢msbuild中的配置文件覆盖.我可以在构建文件中设置属性,但在命令行上覆盖.
>内置“显示用法”. WSF文件(csript.exe)具有此功能.我不愿意写jscript来获得命令行处理.
>不是powershell.我在公司里找不到任何能够支持Powershell语法的人.
PS如果我没有找到这样的东西,我可能会在接下来的几周内放弃谷歌代码
解决方法
命令行分析器库为CLR应用程序提供了一个简单的编程接口,用于操作命令行输入.此库允许您显示具有良好自定义程度的帮助屏幕. API始终秉承代码无聊的一切.
Command Parser Library支持:
>短选项(例如-s)
>选项值/无空格:-sHello
>选项空间值:-s你好
>开关等短选项;没有必要的价值
>选项空间选项……. -s -x -y -z
>选项选项选项……: – -sxyz …
>选项选项空间/任何梳子:-sx -yz
>长选项(例如,– long)
>选项等值: – long =你好
>选项空间值: – 长你好
>组合选项(关于值)
>任何1; 2; 3; 4(分隔符是可配置的)
共同特征
两者都接受带空格的值:-s“Hello World!” – 长“你好CLR!”