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
可以查看。