• 您好,dotnet tool


      在.net core发布之初,dotnet cli就诞生了,dotnet cli的作用是什么呢?主要是用来创建,还原,构建,发布,测试等一系统管理功能,本来,visual studio中是有这些功能的,那为什么还另外再提供一套呢?


      【注:其实在windows下的.net应用,也是可以通命令行来实现一些功能的,只是vs的功能太好用,太强大,用这些功能的人有限,给人感觉像没有一样


      我总结有两个方面:

      1、开发时:.net core(现在最新版叫.net5)跨平台了,不只只是在有可视化的平台上运行,所以提供dotnet cli是为在这些平台上顺利使用.net core

      2、运维时:现在流行的devopt,也是dotnet cli发挥作用的战场,不管是独立部署的jenkins等工具,还是github,gitlab等云平台,都提供了CICD脚本化编辑功能,方便我们管理.net应用

      下面的例子是gitlab的对.net core项目CI的gilab-ci.yml配置,其中16,20,21,24都是依赖dotnet cli来实现的:

    image: mcr.microsoft.com/dotnet/core/sdk:2.2.301
    
    stages:
      - test
      - deploy
    
    release:
      stage: deploy
      only:
        - master
      artifacts:
        paths:
          - publish/
      script:
        # The output path is relative to the position of the csproj-file
        - dotnet publish -c Release -o ../publish MyProject/MyProject.csproj
        
    debug:
      before_script:
       - 'echo | dotnet --version' # must be v 2.2.300 or later for reporter tool to work
       - dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools
      stage: test
      script:
        - dotnet test --logger "junit" --collect:"XPlat Code Coverage"
        # each reporttype must be a separate line, doesn't work together ; separated
        - ls -ld ${CI_PROJECT_DIR}/**/TestResults/*
        - ./tools/reportgenerator "-reports:${CI_PROJECT_DIR}/**/TestResults/*/coverage.cobertura.xml" "-targetdir:Reports_Coverage" -reportTypes:TextSummary;
        - ./tools/reportgenerator "-reports:${CI_PROJECT_DIR}/**/TestResults/*/coverage.cobertura.xml" "-targetdir:Reports_Coverage" -reportTypes:Html;
        - ls Reports_Coverage
        - cat ./Reports_Coverage/Summary.txt
        - echo 'End Summary'
      coverage: /Line coverage[\s\S].+%/
      artifacts:
        paths:
          - Reports_Coverage/
        reports:
          junit:
            - '*.Test/TestResults/TestResults.xml'
    .....此处省略

      在dotnet cli中,有一个别有洞天的功能,就是dotnet tool了,这个功能给我们打开了一个广阔窗口,一个让我们自己造工具,自己使用工具的窗口。

      比如最常见的我们可以造一个从DB生成实体类的工具(这类工具应该有很多);再比如源码漏洞检测的工具;甚至可以集成一些与项目管理,技术管理的功能(命名是否规范,定义是否规范,要求框架使用是否规范等等)

      今天只是简单引入,关于dotnet tool详细介绍,敬请关注之后公众号文章。

      想要更快更方便的了解相关知识,可以关注微信公众号
     

     

  • 相关阅读:
    B
    C. Baby Ehab Partitions Again
    NLP中数据稀疏问题的解决——数据平滑
    CodeForces-EDU-105 Div2 部分题解报告
    C
    前端面试知识点汇总
    elementUI table 合计行 单元格合并
    微信小程序 tab切换组件封装
    微信小程序-wx.request的封装实现
    微信小程序-input密码可见与不可见
  • 原文地址:https://www.cnblogs.com/axzxs2001/p/15861453.html
Copyright © 2020-2023  润新知