您好,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.301stages:- test- deployrelease:stage: deployonly:- masterartifacts:paths:- publish/script:# The output path is relative to the position of the csproj-file- dotnet publish -c Release -o ../publish MyProject/MyProject.csprojdebug: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 toolsstage: testscript:- 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详细介绍,敬请关注之后公众号文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iphone4 base64 mp3 无法解析 html5,javascript - 如何使用HTML5在firefox上播放base64音频数据? - 堆栈内存溢出...

我正在尝试编码base64格式的mp3文件。 然后通过broswer播放。 它适用于safari和chrome,但不适用于Firefox 。我的问题是“有没有办法让firefox以base64 /二进制字符串格式播放音频文件?”ps:我知道firefox无法播放mp3,所以我尝试过…

ab压力测试_Apache ab压力测试的知识点

Apache-ab是著名的Web服务器软件Apache附带的一个小工具,它可以模拟多个并发请求,测试服务器的最大承载压力。ab 是apachebench的缩写,ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的&…

现代云原生设计理念

前文传送门什么是云原生?现代设计理念你会如何设计云原生应用程序?需要遵循哪些原则、模式和最佳实践?需要特别关注哪些底层/操作?十二要素应用程序目前被普遍认可的基于云的方法论是"十二要素应用程序",它给…

NFS服务器架设篇

大家好,本周我们的课程是NFS服务器的架设。下面我们分几个部分来介绍NFS服务器。一、NFS简介NFS是分布式计算机系统的一部分,一般在用unix和类unix的系统上实现文件的传输。而且可以把NFS服务器共享的目录挂载到本地,使用cp,cd&am…

mysql 碎片率_MySQL数据碎片的整理和分析

MySQL具有相当多不同种类的存储引擎来实现列表中的数据存储功能。每当MySQL从你的列表中删除了一行内容,该段空间就会被留空。而在一段时间内的大量删除操作,会使这种留空的空间变得比存储列表内容所使用的空间更大。当MySQL对数据进行扫描时&#xff0c…

用画小狗的方法来解释Java中的值传递

在开始看我画小狗之前,咱们先来看道很简单的题目: 下面程序的输出是什么? 如果你的回答是“小强”,好,恭喜你答对了。下面我们改一下代码: 是的,我只是在changeName方法里面加了一句代码 这一次…

html怎么防止表单重复提交,js防止表单重复提交的解决方法

防止表单重复提交,通常会通过attachEvent在 form的onsubmit事件中写一个方法,每次触发该事件时执行该方法,可以给form增加一个submited属性,每次判断这个属性,为 false时继续提交表单并且设置form.submitedtrue&#x…

gif分解工具_Python之GIF图倒放,沙雕快乐源泉

GIF图现在已经融入了我们的日常网络生活,微信群、QQ群、朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是“斗图王”。咱们直接开始本文的内容!使用的工具1PIL(Python …

使用Forms Authentication实现用户注册、登录 (三)用户实体替换

使用Forms Authentication实现用户注册、登录 (三)用户实体替换 收藏IPrincipal和IIdentity通过查阅文档,我们可以看到HttpContext.User属性的类型是IPrincipal接口。然而我们知道,接口通常是不能直接访问的,其背后必定…

微软亚洲研究院全球院友线上欢聚,共话新春

金鼠辞旧岁,金牛报春时;万象正更新,乾坤喜气多。西雅图时间 2 月 6 日,北京时间 2 月 7 日,由微软亚洲研究院院友会西雅图分会主办的“牛转新运”院友新春线上茶话会圆满落幕。重量级嘉宾沈向洋、洪小文、张亚勤、张宏…

从串行线程封闭到对象池、线程池

今天讲一个牛逼而实用的概念,串行线程封闭。对象池是串行线程封闭的典型应用场景;线程池糅合了对象池技术,但核心实现不依赖于对象池,很容易产生误会。 本文从串行线程封闭和对象池入手,最后通过源码分析线程池的核心原…

华硕xhci灰色_xHCI模式作怪无法使用USB设备?解决办法这里有!

最近许多云骑士问题群里朋友向我们反映,自己的USB设备包括USB键盘、鼠标、外置网卡......在重装系统后不能使用了或是启动变慢了许多,那么安装完系统后无法使用USB设备怎么办?经过排查,我们发现这是因为intel xHCI模式设置的问题&#xff0c…

netty springmvc_springmvc源码架构解析之HandlerMapping

说在前面前期回顾sharding-jdbc源码解析 更新完毕spring源码解析 更新完毕spring-mvc源码解析 更新完毕spring-tx源码解析 更新完毕spring-boot源码解析 更新完毕rocketmq源码解析 更新完毕dubbbo源码解析 更新完毕netty源码解析 更新完毕spring源码架构更新完毕springmvc源码架…

单片微型计算机系统应用和开发特点,单片微机原理与应用(第2版)

单片微机原理与应用(第2版)语音编辑锁定讨论上传视频《单片微机原理与应用(第2版)》是2019年7月机械工业出版社出版的图书,作者是罗印升。书 名单片微机原理与应用(第2版)作 者罗印升ISBN9787111538851定 价42.0元出版社机械工业出版社出版时间2019年7月装…

腾讯牛逼,我酸了!!

阅读本文大概需要8分钟。腾讯这两天搞了个业内爆炸沸腾的事情:全员阳光普照发放100股,解禁期一年。腾讯股价近年来一直在疯狂上涨,100股折合人民币6万多:关键是员工什么都没做,直接拿到价值6万的股票。作用可以说是相当…

如何创建生成非 MFC 项目的自定义 AppWizards

当自定义的应用程序向导生成一个项目时,则它只是不能替换自动创建的.dsp 项目设置文件。 .dsp 文件中的项目设置由假定所有生成的项目为 MFC 项目的内部规则设置。 但是,Visual C 5.0 的新对象模型允许修改工具设置,以便从生成的项目中删除所…

这本造价500万的“黑科技”日历,用377张爆美插画给你365天理想生活

以前,每个人家里, 都挂着一本日历。 爷爷戴着老花镜, 盘看着黄道吉日; 奶奶一字一句, 念叨着每日禁忌; 我们跟着日历过日子, 时光缓慢,记忆清晰。 那时候,日历本上的日子…

后端返回number类型数据_Javascript基础教程之数据类型 (数值 Number)

javascript中想限定一个数的数值,无需限定它是整数还是浮点数型var num1 80 ;var num2 55.51;var num3 -34;var num4 9e5;document.write(num1 " " num2 " " num3 " " num4);//运行结果 80 55.51 -34 900000toExponential(…

在计算机科学中计算是指,在计算机中数值计算是指什么

数值计算指有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科。数值计算主要研究如何利用计算机更好的解决各种数学问题,包括连续系统离散化和离散形方程的求解,并考虑误差、收敛性和稳定性等问题。从数学类型分&…

eladmin代码自动生成_如何让Mybatis自动生成代码

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!作者:阿进的写字台cnblogs.com/homejim/p/9782403.html在使用 mybatis 过程中, 当手写 JavaBean 和 XML 写的越来越多的时候, 就越来越容易出错。这种重…