您好,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詳細介紹,敬請關注之后公眾號文章。
總結
以上是生活随笔為你收集整理的您好,dotnet tool的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python才能做爬虫,No,C#也可以
- 下一篇: 现代云原生设计理念