Driver de código abierto y multiplataforma, en modo usuario, para tabletas gráficas, compatible con Windows, Linux y macOS y con una GUI configurable.
Tyrrrz/CliWrap
Una biblioteca .NET para iniciar procesos de línea de comandos con configuración fluida, conexión de stdin/stdout/stderr y cancelación asíncrona.
- Estrellas
- 5,010
- Forks
- 285
- Issues abiertos
- 3
- Último commit
- hace 3 días
¿Qué es?
CliWrap es una biblioteca .NET que envuelve System.Diagnostics.Process en una API fluida e inmutable para ejecutar herramientas de línea de comandos. Para crear un comando, se llama a Cli.Wrap con la ruta del ejecutable y, antes de llamar a ExecuteAsync o a uno de los métodos de ejecución de más alto nivel, se configuran los argumentos, el directorio de trabajo, las variables de entorno y otras opciones.
Los flujos de entrada, salida y error estándar se pueden conectar a archivos, flujos, arrays de bytes, cadenas, búferes StringBuilder, delegados u otros comandos; además, los comandos se pueden encadenar con operadores de tubería. Los métodos auxiliares recopilan la salida en búferes o exponen el proceso como un flujo de eventos basado en extracción o inserción para reaccionar a la salida en tiempo real.
La biblioteca admite la cancelación mediante señales de interrupción forzada y gradual, y, de forma predeterminada, lanza una excepción si el código de salida no es cero. No tiene dependencias externas y es compatible con .NET Standard 2.0, .NET Core 3.0+ y .NET Framework 4.6.2+.
Funciones clave
- 01Configuración fluida e inmutable de comandos, con argumentos, directorio de trabajo y variables de entorno.
- 02Conexión flexible de stdin, stdout y stderr a archivos, flujos, cadenas, delegados u otros comandos.
- 03Ejecución con búferes y flujos de eventos basados en extracción o inserción para procesar la salida.
- 04API asíncrona con compatibilidad para la cancelación forzada y gradual.
- 05De forma predeterminada, los códigos de salida distintos de cero lanzan una excepción; la validación se puede desactivar.
- 06Sin dependencias externas.
Casos de uso
- Llamar a herramientas externas, como git, ffmpeg o docker, desde una aplicación .NET.
- Transmitir la salida de un proceso en tiempo real a registros o a una interfaz de usuario.
- Encadenar herramientas de línea de comandos mediante tuberías de entrada y salida.
- Ejecutar procesos largos con tiempos de espera y apagado gradual.
Inicio rápido
- 1
Instala el paquete NuGet CliWrap
dotnet add package CliWrap - 2
Importa el espacio de nombres y llama a Cli.Wrap(...) con la ruta del ejecutable; después, ejecuta ExecuteAsync() en tu código C#
Antes de usarlo
- El README exige aceptar unas condiciones de uso de carácter político sobre Rusia y Ucrania antes de utilizar el proyecto o su código fuente.
- La compatibilidad con las opciones de política de recursos varía según la plataforma.
- Las opciones de credenciales, aparte del nombre de usuario, solo están disponibles en Windows.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es CliWrap?
- Una biblioteca .NET para iniciar procesos de línea de comandos con configuración fluida, conexión de stdin/stdout/stderr y cancelación asíncrona. CliWrap es una biblioteca .NET que envuelve System.Diagnostics.Process en una API fluida e inmutable para ejecutar herramientas de línea de comandos. Para crear un comando, se llama a Cli.Wrap con la ruta del ejecutable y, antes de llamar a ExecuteAsync o a uno de los métodos de ejecución de más alto nivel, se configuran los argumentos, el directorio de trabajo, las variables de entorno y otras opciones.
- ¿CliWrap es gratuito? ¿Qué licencia tiene?
- CliWrap es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿CliWrap sigue mantenido?
- Mantenimiento activo. El último commit de CliWrap fue el 4 nov 2026.
- ¿Para qué puedo usar CliWrap?
- Llamar a herramientas externas, como git, ffmpeg o docker, desde una aplicación .NET. Transmitir la salida de un proceso en tiempo real a registros o a una interfaz de usuario. Encadenar herramientas de línea de comandos mediante tuberías de entrada y salida. Ejecutar procesos largos con tiempos de espera y apagado gradual.
- ¿Cómo se instala CliWrap?
- Instala el paquete NuGet CliWrap: dotnet add package CliWrap Importa el espacio de nombres y llama a Cli.Wrap(...) con la ruta del ejecutable; después, ejecuta ExecuteAsync() en tu código C#
- ¿Dónde consigo CliWrap?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Tyrrrz/CliWrap
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework CLI de C# sin dependencias ni asignaciones, compatible con AOT y que genera código de análisis y enrutamiento en tiempo de compilación mediante un Source Generator.
Framework de aplicaciones modular y multiinquilino de código abierto, y CMS creado sobre ASP.NET Core.
Umbraco es un sistema de gestión de contenidos gratuito y de código abierto para .NET, pensado para crear sitios web y experiencias digitales.
Editor de PDF gratuito y de código abierto para Windows, con motor PDF 2.0 integrado para ver, anotar, aplicar OCR, combinar, dividir, firmar y más.
Una biblioteca de C# para generar documentos PDF con código fluido y tipado estático, en lugar de convertir HTML a PDF.