开源、跨平台的用户态数位板驱动,支持 Windows、Linux 和 macOS,并提供可配置的图形界面。
Tyrrrz/CliWrap
一个 .NET 命令行进程调用库,提供流式配置、标准输入输出管道和异步取消功能。
- Star
- 5,010
- Fork
- 285
- 未关闭 Issue
- 3
- 最近提交
- 3天前
这是什么?
CliWrap 是一个 .NET 库,用流式、不可变的 API 封装了 System.Diagnostics.Process,便于运行命令行工具。通过 Cli.Wrap 指定可执行文件路径,再配置参数、工作目录、环境变量等选项,最后调用 ExecuteAsync 或其他高级执行方法即可运行。
标准输入、输出和错误流可以连接到文件、流、字节数组、字符串、StringBuilder、委托或另一个命令,也可以用管道运算符把多个命令串联起来。库还提供缓冲执行模式,以及拉取式和推送式事件流,便于实时处理进程输出。
取消操作既支持强制终止,也支持发送中断信号的优雅取消。默认情况下,进程返回非零退出码时会抛出异常。该库没有外部依赖,支持 .NET Standard 2.0、.NET Core 3.0+ 和 .NET Framework 4.6.2+。
核心功能
- 01流式、不可变的命令配置,支持参数、工作目录和环境变量。
- 02标准输入、输出和错误流可灵活接入文件、流、字符串、委托或其他命令。
- 03提供缓冲执行,以及拉取式和推送式事件流来处理输出。
- 04异步 API,支持强制终止和优雅取消。
- 05进程返回非零退出码时默认抛出异常,也可关闭该校验。
- 06无外部依赖。
适用场景
- 在 .NET 应用中调用 git、ffmpeg、docker 等外部命令行工具。
- 将进程输出实时写入日志或界面。
- 通过管道把多个命令行工具串联起来处理数据。
- 为长时间运行的进程设置超时和优雅关闭。
快速上手
- 1
通过 NuGet 安装 CliWrap 包
dotnet add package CliWrap - 2
在 C# 代码中引入命名空间,调用 Cli.Wrap(...) 并传入可执行文件路径,然后调用 ExecuteAsync()
使用前须知
- README 要求在使用本项目或其源代码之前,同意一份关于俄罗斯和乌克兰的政治使用条款。
- 资源策略选项在不同平台上的支持程度不一。
- 除用户名外的凭据选项仅在 Windows 上可用。
收录于专题
标签
常见问题
- CliWrap 是什么?
- 一个 .NET 命令行进程调用库,提供流式配置、标准输入输出管道和异步取消功能。 CliWrap 是一个 .NET 库,用流式、不可变的 API 封装了 System.Diagnostics.Process,便于运行命令行工具。通过 Cli.Wrap 指定可执行文件路径,再配置参数、工作目录、环境变量等选项,最后调用 ExecuteAsync 或其他高级执行方法即可运行。
- CliWrap 可以免费使用吗?用的什么许可证?
- CliWrap 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- CliWrap 还在维护吗?
- 活跃维护中。CliWrap 最近一次提交是在 2026年11月4日。
- CliWrap 适合用来做什么?
- 在 .NET 应用中调用 git、ffmpeg、docker 等外部命令行工具。 将进程输出实时写入日志或界面。 通过管道把多个命令行工具串联起来处理数据。 为长时间运行的进程设置超时和优雅关闭。
- CliWrap 怎么安装和运行?
- 通过 NuGet 安装 CliWrap 包: dotnet add package CliWrap 在 C# 代码中引入命名空间,调用 Cli.Wrap(...) 并传入可执行文件路径,然后调用 ExecuteAsync()
- 在哪里获取 CliWrap?
- 源代码和安装说明在 GitHub 上:https://github.com/Tyrrrz/CliWrap
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
4249+22 本周573C#LGPL-3.0更新于 21小时前
基于 ASP.NET Core 的开源模块化、多租户应用框架与内容管理系统。
8224+3 本周2609C#BSD-3-Clause维护活跃更新于 8小时前
Umbraco 是一款免费开源的 .NET 内容管理系统,用于构建网站和数字体验。
5280+1 本周2950C#MIT更新于 13小时前
一个 C# 库,用流式代码以组件化方式生成 PDF 文档,无需 HTML 转 PDF。
1.4万+1 本周775C#Other维护活跃更新于 9天前