首页 > 其他分享 >.NET CORE CliWrap 命令行

.NET CORE CliWrap 命令行

时间:2024-11-20 10:01:15浏览次数:1  
标签:case CORE Log Process nuget CliWrap 命令行 break NET

前言

做研发的时候有时候需要调用一些第三方进程的操作,一般通过 System.Diagnostics.Process 来操作。

现在有一个更灵活方便的工具 Cliwrap,这里记录一下如何简单的操作

命令行

这里用nuget.exe 来进行demo,具体的命令行可以参考nuget 文档,这里就不详细介绍。

nuget查询包的命令

nuget search [search terms] [options]

这里用命令行测试下

 

CliWarp

先引入包

<PackageReference Include="CliWrap" Version="3.6.6" />

代码就比较简单

var cmd = Cli.Wrap("D:\\ServiceStack\\nuget.exe").WithArguments(args =>
                    args.Add("search").Add(packName));

await foreach (var cmdEvent in cmd.ListenAsync())
{
    switch (cmdEvent)
    {
        case StartedCommandEvent started:
            Log.Information($"Process started; ID: {started.ProcessId}");
            break;
        case StandardOutputCommandEvent stdOut:
            Log.Information($"Out> {stdOut.Text}");
            break;
        case StandardErrorCommandEvent stdErr:
            Log.Error($"Err> {stdErr.Text}");
            break;
        case ExitedCommandEvent exited:
            Log.Information($"Process exited; Code: {exited.ExitCode}");
            break;
    }
}

Cli.Wrap 构造器先指定第三方命令行的入口,后续可以通过 WithArguments 构建参数,具体的参数可以通过里面不断的 Add方法添加进去

后续的是判断调用的各种事件,这里要注意一下,事件都是异步的,调用的时候最好先等待。

后续

以上就是CliWrap 调用案例。

 

标签:case,CORE,Log,Process,nuget,CliWrap,命令行,break,NET
From: https://www.cnblogs.com/julyluo/p/18556197

相关文章

  • 芒果YOLO11改进108:即插即用 | 基于CFNet提出多种原创结构CSCFocalNeXt, ReNLANFocalNe
    ......
  • Windows系统在VSCode(Visual Studio Code)中使用.NET MAUI并且配置Android Emulator
    Windows系统在VSCode(VisualStudioCode)中使用.NETMAUI并且配置AndroidEmulatorVSCode优点极多,自主配置,界面舒适,如果不想使用VisualStudio来开发MAUI应用,并且不下载完整的AndroidStudio,仅使用其Emulator,以下是为VSCode配置环境的方法,同时解决了多种可能出现的问题。第......
  • .NET周刊【11月第3期 2024-11-17】
    国内文章.NET9使用Scalar替代Swaggerhttps://www.cnblogs.com/netry/p/18543378/scalar-an-alternative-to-swagger-in-dotnet-9.NET9移除了Swashbuckle.AspNetCore,因为其维护不力,并转向Microsoft.AspNetCore.OpenApi。除了Swashbuckle,还有NSwag、Scalar等替代方案。Sca......
  • 2025最新-计算机毕业设计Java基于kubenetes的OpenStack私有云平台部署
    一、项目介绍  基于K8S的opoenstack私有云平台的监测系统通过对Web应用服务器运行情况的分析统计系统的建设以实现服务器运行数据监控与分析功能。私有云平台是web应用正常运行的核心,为了确保这些网站的稳定运行,势必需要做好对网站服务器的监控。做好对服务器运行的各......
  • 大数据学习17之Spark-Core
    5.3.算子5.3.1.何为算子        算子是一个函数空间到另一个函数空间的映射。广义的讲,对任何函数进行某一项操作都可以认为是一个算子。5.3.2.分类    转换算子    行动算子    控制算子5.3.3.转换算子(单Value)5.3.3.1.map     ......
  • 一个基于 .NET 8.0 构建的简单、跨平台、模块化商城系统
    前言今天给大家分享一个基于.NET8.0构建的开源免费(MITLicense)、简单、跨平台、模块化的商城系统:ModuleShop。主要功能销售:订单、物流。内容:首页配置、评论、回复。配置:国家、用户、仓库、运费、高级设置。商品:分类、品牌、单位、选项(销售属性)、属性、属性模板、属性组......
  • .net 非阻塞的异步编程 及 线程调度过程
    本文主要分为三个部分:1、语法格式2、线程调度情况3、编程注意事项*阅读提示:鼠标悬停在章节标题上可见文章目录  异步编程(TaskAsynchronousProgramming,TAP),一种编程模式(Task-basedAsynchronousPattern)。TAP是.NET中推荐的异步编程模式,基于 Task 和 Task<TR......
  • .NET Core 特性(Attribute)底层原理浅谈
    简介烂大街的资料不再赘述,简单来说就是给代码看的注释Attribute的使用场景Attribute不仅仅局限于C#中,在整个.NET框架中都提供了非常大的拓展点,任何地方都有Attribute的影子编译器层比如Obsolete,ConditionalC#层GET,POST,Max,Range,RequireCLRVM层StructLayout,DllImp......
  • NVIDIA(Hopper)H100 Tensor Core GPU 架构
    NVIDIA(Hopper)H100TensorCoreGPU架构AI赋能个体创业致力于降低直播成本服务于商家和个人​关注他  NVIDIAH100TensorCoreGPU是NVIDIA最新的(2022年发布)通用可编程流式GPU,适用于HPC、AI、科学模拟和数据分析。H100GPU主要用于执行A......
  • 如何在Ubuntu 20.04 LTS上安装Dotnet Core?
    在本教程中,我们将向您展示如何在香港服务器的Ubuntu20.04LTS系统上安装DotnetCore。.NETCore是一个免费的开源软件框架和开源软件框架。它是由Microsoft开发的。它是由Microsoft开发的。.NETCore是一个非常强大的框架。它通常用于开发Web应用程序。步骤1.首先,通过apt在......