F#奇妙游(2):dotnet命令行工具

news2024/11/23 5:15:31

TUI vs. GUI

TUI和GUI分别是文本用户界面(Text User Interface)和图形(Graphic User Interface),是计算机交互界面的两种流派。

最初的时候,神研制了大型机,其输入输出依靠卡带;后来神说,要用键盘,于是就有了命令行;神看到敲命令的人头都秃了,于是说,要用轨迹球,于是就开始了GUI的狂飙突进。

在这里插入图片描述

虽然有了GUI,更多普通人得以轻松使用电脑。但是对程序员中,TUI不能说江河日下,只能说情根深种。

GUI的优点不用仔细说,大家都喜欢外表靓丽的大姐姐。但是TUI在需要精确控制、需要反复执行的任务中,有着GUI不可替代的作用。

微软一开始MS-DOS之后就一路转进Windows的各种版本,一度完全不重视TUI,但是最近也从心搞起了开源和TUI。dotnet就是.NET平台开发各种命令行工具的驱动程序,统一称为:dotnet CLI(command line interface)。

dotnet命令行

dotnet cli

值得注意的是,这个工具是.NET SDK开源的一部分,源代码在CLI。

最重要的几个命令:

  • dotnet-new
    • 新建C#、F# 工程。
  • dotnet-restore
    • 更新依赖。
  • dotnet-build
    • 构建工程。
  • dotnet-publish
    • 发布程序。
  • dotnet-run
    • 运行工程。
  • dotnet-test
    • 运行测试。
  • dotnet-pack
    • 创建NuGet包。

其他还有什么增加NuGet包和引用依赖的add命令,启动交互脚本的fsi命令,调试web应用的watch命令,惯例解决方案的sln命令,清理输出的clean命令。每个命令的具体使用可以用如下命令查看帮助。

dotnet add --help

dotnet安装及多版本

dotnet --list-sdks

比如可以得到如下的输出。

7.0.203 [C:\Program Files\dotnet\sdk]
8.0.100-preview.5.23303.2 [C:\Program Files\dotnet\sdk]

dotnet --version

7.0.203

那么要如何选择使用哪个版本的dotnet呢?dotnet采用一个叫global.json的文件来记录这个信息。dotnet运行的时候,会在当前文件夹以及父文件夹中寻找这个文件,那么就意味着,在一个文件夹中放一个这个文件,文件夹中所有的项目都会使用该版本的dotnet。

这个文件在一般的情况下并不是必须的,dotnet没找到这个文件就会直接用最新的版本。但是要做自动化的持续集成(CI),这个文件通常就十分必要。

{
  "sdk": {
    "version": "7.0.203"
  }
}

这个文件也没有必要自己手写。可以用命令:

dotnet new globaljson

来生成,在根据前面dotnet --version的输出来变更字符串version的值。

如果有新的补丁可以安装,就可以运行

winget install Microsoft.DotNet.SDK.7

就能安装新的版本,例如"7.0.305",此时,前面的版本同样存在。

dotnet --list-sdks

7.0.203 [C:\Program Files\dotnet\sdk]
7.0.305 [C:\Program Files\dotnet\sdk]
8.0.100-preview.5.23303.2 [C:\Program Files\dotnet\sdk]

更新global.json的版本就可以使用新的补丁。

总结

  • .NET命令行接口(CLI)是一个跨平台的工具链,用于支持.NET应用的开发、构建、运行和发布。
  • 安装.NET SDK可以用winget,也可以用PowerShell脚本和bash脚本。
  • dotnet CLI提供的功能有完备的帮助,dotnet -h或者dotnet --help可以查看。
  • dotnet CLI各个功能的帮助通过dotnet command -h或者dotnet command --help可以查看。

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

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

相关文章

运动耳机哪款好用推荐、推荐几款专业运动耳机

无论你是健身爱好者、跑步达人还是热衷户外运动的人,一副优秀的运动耳机都是你在运动过程中不可或缺的伴侣。它们不仅能为你提供出色的音质,让你沉浸在动感的节奏中,还能提供稳定舒适的佩戴感,让你忘记耳机存在的同时享受到极致的…

深度学习05-RNN循环神经网络

概述 循环神经网络(Recurrent Neural Network,RNN)是一种具有循环连接的神经网络结构,被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络,RNN的主要特点在于它可以处理序列数据&#xf…

1.1 Metasploit 工具简介

Metasploit 简称(MSF)是一款流行的开源渗透测试框架,由Rapid7公司开发,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。…

Nginx HTTPS实践

Nginx HTTPS实践 文章目录 Nginx HTTPS实践1.HTTPS基本概述1.1.为何需要HTTPS1.2.什么是HTTPS1.3.TLS如何实现加密 2.HTTPS实现原理2.1.加密模型-对称加密2.2.加密模型-非对称加密2.3.身份验证机构-CA2.4.HTTPS通讯原理 3.HTTPS扩展知识3.1.HTTPS证书类型3.2.HTTPS购买建议3.3.…

SCTF2023复现(部分web复现)

文章目录 SCTF2023复现webezcheck1nSycServerpypyp? SCTF2023复现 web ezcheck1n find the way to flag.Looks like there are two containers with an evil P in the configuration file of the frontend server 源码&#xff1a; <?php$FLAG "flag{fake_flag}&…

华为OD机试真题 Python 实现【分奖金】【2022Q4 100分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出 一、题目描述 公司老板做了一笔大生意&#xff0c;想要给每位员工分配一些奖金&#xff0c;想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序&#xff0c;每个…

《移动互联网技术》 第七章 数据存取: 掌握File、SharePreferences、SQLite和ContentProvider四种数据存取方式

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

iview button组件点击第一次无效的原因解决

最近在开发页面&#xff0c;发现登陆页老是需要点击两下才能进入具体页面&#xff0c;一开始没在意&#xff0c;但是使用久了&#xff0c;就感觉肯定是问题&#xff0c;于是仔细查看了代码&#xff0c;如上图所示&#xff1a; 一开始我的跳转是放在存储token的上面的&#xff0…

管理类联考——英语——趣味篇——词根词汇——按“认识自然、认识自我、改造自然、情感智力、人与社会”分类”

文章目录 前言第⼀部分、认识⾃然1&#xff0e; ⾃然源于⽣命-bio-“⽣命&#xff0c;⽣物”-nat-“⽣命&#xff0c;出⽣”-gen-&#xff0c;-geo- “⽣&#xff0c;出⽣&#xff0c;⽣发;⼟地”-viv- -vit-, “⽣&#xff0c;⽣命&#xff0c;出⽣”-mort- “死&#xff0c;死…

如何使用企业门户(门户,Portal)平台构建千人千面的企业数字神经网络、门户工作台,集团数字化门户系统?

基于人工智能与AI算法的信创门户“One”&#xff0c;打破了IT系统间信息孤岛。实现了系统间的互联互通&#xff08;数字孪生&#xff0c;塔尖通信&#xff09;&#xff0c;结合机器学习&#xff0c;打造企业数字神经网络&#xff0c;给用户一个千人千面的智慧门户工作台&#x…

【Python】一文带你学会数据结构中的堆、栈

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

移除所有本地应用程序(数据库)加密设置

大家好&#xff0c;才是真的好。 最近我就有这样一个烦恼&#xff0c;要移除Notes本地的所有本地应用程序&#xff08;数据库&#xff09;的加密设置&#xff0c;这样就可以放到Domino服务器上&#xff0c;然后支持其他电脑上不同的Notes访问。毕竟&#xff0c;默认地&#xf…

Open-World Class Discovery with Kernel Networks (ICDM 2020)

Open-World Class Discovery with Kernel Networks (ICDM 2020) 摘要 我们研究了一个开放世界类发现问题&#xff0c;在这个问题中&#xff0c;训练样本是来自旧类有标签的样本&#xff0c;而我们从没有标记的测试样本中发现新的类。解决这一范式有两个关键的挑战:(a)将知识从…

【ESP-IDF】在squareline studio上设计GUI并移植到esp-box上

因为squareline studio软件中适配了ESP-BOX&#xff0c;所以作者本想直接使用该软件创建的工程&#xff0c;但是会出现花屏的现象&#xff0c;也不知道是不是没有做好esp-box-lite的适配。 因此只能先用squareline studio设计好GUI&#xff0c;然后再导出其代码&#xff0c;在其…

实时数仓详解

前言 本文隶属于专栏《大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见大数据理论体系 背景 伴随着社会的发展&#xff0c;用户对数据仓库…

ChatGPT中 top_p 和 temperature 的作用机制

1. temperature 的作用机制 GPT 中的 temperature 参数调整模型输出的随机性。随机性大可以理解为多次询问的回答多样性、回答更有创意、回答更有可能没有事实依据。随机性小可以理解为多次询问更有可能遇到重复的回答、回答更接近事实&#xff08;更接近训练数据&#xff09;…

pycharm快捷键

目录 1、代码编辑快捷键 2、搜索/替换快捷键 3、代码运行快捷键 4、代码调试快捷键 5、应用搜索快捷键 6、代码重构快捷键 7、动态模块快捷键 8、导航快捷键 9、通用快捷键 &#x1f381;更多干货 完整版文档下载方式&#xff1a; 1、代码编辑快捷键 CTRL ALT SP…

Vue-Element-Admin项目学习笔记(9)表单组件封装,父子组件双向通信

前情回顾&#xff1a; vue-element-admin项目学习笔记&#xff08;1&#xff09;安装、配置、启动项目 vue-element-admin项目学习笔记&#xff08;2&#xff09;main.js 文件分析 vue-element-admin项目学习笔记&#xff08;3&#xff09;路由分析一:静态路由 vue-element-adm…

TOWARDS A UNIFIED VIEW OF PARAMETER-EFFICIENT TRANSFER LEARNING

本文也是属于LLM系列的文章&#xff0c;针对《TOWARDS A UNIFIED VIEW OF PARAMETER-EFFICIENT TRANSFER LEARNING》的翻译。 关于参数有效迁移学习的统一观点 摘要1 引言2 前言2.1 Transformer结构综述2.2 之前的参数高效调优方法综述 3 弥合差距-统一的视角3.1 仔细观察Pref…

火山引擎A/B测试推出智能流量调优实验,助力汽车行业破局营销困境

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 2023年是汽车行业挑战加剧的一年&#xff0c;在这样一个变革时期&#xff0c;多家车企都在进行创新技术和战略调整&#xff0c;实现灵活的科学决策&#xff0c;在发…