c# - 用于 .NET 的强大且友好的命令行工具?

标签 c# .net vb.net command-line mono

<分区>

忘掉花哨的 shmancy web 东西吧。我正在寻找一个好的 .NET CLI 参数处理实用程序,更喜欢开源代码。这适用于需要健壮和友好的命令行参数处理的快速而肮脏的实用程序。

这些实用程序可能需要一天的努力。花几天时间编写良好的命令行处理程序似乎有些过分……但他们确实需要它。

我喜欢命令行处理程序中的功能。我会对任何具有以下 2 或 3 个项目的开源项目感到兴奋。

  • 一致的语法,posix had a nice command line standard ,但不一定是posix。
  • 能够为产品提供简称。例如。 "msbuild/t"== "msbuild/target"
  • 支持 良好的命令行解析然后让开。我想要一些我的代码使用的东西,而不是在我的代码上强加模式的东西,例如我不想用事件来响应 arg 的存在,那种类型的事情。
  • 关注点分离足够好,可以对其逻辑进行单元测试。
  • 哦 - 要求它从类属性中读取属性(如在 .NET 配置类中)是否有两个要求?
  • 我喜欢 msbuild 中的配置文件覆盖。我可以在构建文件中设置属性,但在命令行上覆盖。
  • 内置“显示用法”。 WSF文件 (csript.exe) 具有此功能。不过,我不愿意编写 jscript 来获取命令行处理。
  • 不是 powershell。我在公司找不到能忍受 Powershell 语法的人。

PS 如果我没有找到这样的东西,我可能会在接下来的几周内在 google code 上放一个

PPS 如果我可以添加标签,我会标记这个“pleasesearchtheinternetforme”

最佳答案

同样来自 codePlex,CommandLine项目似乎符合您的要求。从项目主页复制/粘贴的 Liberal 应用程序提供...

命令行解析器库为 CLR 应用程序提供了一个用于操作命令行输入的简单编程接口(interface)。该库允许您显示具有良好自定义程度的帮助屏幕。 API 肩负着所有无聊的编码工作。

命令解析器库支持:

  • 短选项(例如 -s)

    • 选项+值/无空格:-sHello
    • 选项+空格+值:-s 你好
  • 短选项,如开关;不需要值

    • Option+Space+Option+....... -s -x -y -z
    • 选项+选项+选项+...:-sxyz...
    • Option+Option+Space/任意组合:-sx -yz
  • 长选项(例如--long)

    • 选项+等于+值:--long=Hello
    • Option+Space+Value: --long 你好
  • 组合选项(关于值)

    • 任意 1;2;3;4(分隔符可配置)

共同特征

两者都接受带空格的值:-s"Hello World!"--long "你好 CLR!"

关于c# - 用于 .NET 的强大且友好的命令行工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/844723/

相关文章:

c# - XElement Nodes() 与 Elements() 有什么区别?

.net - 为 Intellisense 的 C# 注释添加换行符

c# - 为什么抽象类要实现抽象基类的抽象方法?

c# - .Net 解决方案与 c# 和 visual basic 项目

sql - VB.Net 使用GridView绑定(bind)字段计算值并将值输出到另一个字段

javascript - 显示有关导出完整 RadGrid Telerik Web 组件的数据的 javascript 警报

c# - 处理取消 token 源的正确模式

c# - .NET Core 上的 OpenFileDialog

c# - 调用 Microsoft.Owin.Cors 后无法加载 System.Web.Cors 程序集

vb.net - 防止 Math.Round(95.55555555,2) 在 VB.NET 中四舍五入到 95.56