dotnet cli
.NET Core Command-Line Interface 是开发.NET应用措施的根本开发工具。
安置.NET Core CLI
有两种方法安置CLI:
通过下载安置包,适用于开发环境,要用到本机的打点员权限
通过shell脚本,适用于处事器环境
CLI命令
dotnet工具(称为驱动措施)作为cli命令的入口,能够接收并执行命令。同时,它可以选择要使用的cli的sdk版本,如果未指定版本,默认使用最新的sdk版本。如果要指定版本使用dotnet --fx-version 命令,dotnet只做两件事:
执行命令,格局如下:dotnet command option,好比:新建一个mvc工程定名为Zebra.Liu.MVC,dotnet new mvc -n Zebra.Liu.MVC
运行措施,格局如下:dotnet /build/my_app.dll
dotnet命令大抵可以分为以下几类:
通例命令,如 dotnet new,dotnet build,dotnet run等
工程类命令
项目之间的引用,dotnet add reference,dotnet list reference,dotnet remove reference
项目的承打点,dotnet add package,dotnet remove package
其他定名,如使用ef,dotnet ef,启动文件不雅察看措施dotnet watch等
常用命令
dotnet build命令
[zebra Desktop]$mkdir work && cd work
[zebra work]$dotnet new console -n Zebra.Liu.Console
[zebra work]$cd Zebra.Liu.Console/
[zebra Zebra.Liu.Console]$dotnet add package Pomelo.EntityFrameworkCore.MySql
[zebra Zebra.Liu.Console]$ls
Program.cs Zebra.Liu.Console.csproj obj
[zebra Zebra.Liu.Console]$dotnet build -o build/
[zebra Zebra.Liu.Console]$ls
Program.cs Zebra.Liu.Console.csproj build obj
[zebra Zebra.Liu.Console]$ls build/
Zebra.Liu.Console.dll #二进制文件(中间语言IL)
Zebra.Liu.Console.pdb #symbol文件,,用于调试
Zebra.Liu.Console.deps.json # *.deps.json中列出应用措施的依赖项
Zebra.Liu.Console.runtimeconfig.dev.json
Zebra.Liu.Console.runtimeconfig.json # 指定共享运行时以其版本
上面的试验可以看出build命令最后的产物,如果有项目使用了第三方的依赖,如像上面一样使用了NuGet中的MySQL驱动,那么在执行build命令时,只会从本机的NuGet缓存库中解析依赖项,也就是说,生成的dll文件,不包罗MySQL的驱动。这样build的dll文件,从本机拷贝到此外的机器上,可能不能运行。如果要将依赖项也打包,可以使用另一个命令dotnet publish。
publish命令和build命令最大的区别在于:publish命令将应用措施的依赖项,从NuGet缓存复制到输出文件夹中。
build后的措施是否为可执行,主要看.csproj文件中的选项
Exe
netcoreapp2.1
dotnet clean命令
断根上一个生成的输出,包孕中间文件夹(obj)和最终输出文件夹(bin)中的文件
dotnet sln命令
使用dotnet sln命令,可以在*.sln,文件中添加,删除,获取项目。
dotnet sln [] add
dotnet sln [] add
dotnet sln [] remove
dotnet sln [] remove
dotnet sln [] list
注意:dotnet sln命令只会对solution_name.sln文件中操纵,要生成*.sln文件,可以使用dotnet new sln命令
dotnet add/remove/list reference定名
打点项目之间的引用关系
[zebra work]$dotnet add 项目1 reference 项目2
使用CLI创建多项目的解决方案
本章将用cli,凭据DDD的分层架构来创建包罗多个项目的解决方案,方案的布局大抵如下:
Shopping.sln
|- Shopping.UI
|- Shopping.Application
|- Shopping.Domain
|- Shopping.Infrastructure
Shopping.UI
|
V
Shopping.Application
|
V
Shopping.Domain
|
V V
Shopping.Infrastructure
脚本如下:
[zebra ~]$mkdir Shopping && cd Shopping
创建工程 UI为MVC类型,其余全部是classlib[zebra Shopping]$dotnet new mvc -n Shopping.UI
[zebra Shopping]$dotnet new classlib -n Shopping.Application
[zebra Shopping]$dotnet new classlib -n Shopping.Domain
[zebra Shopping]$dotnet new classlib -n Shopping.Infrastructure
[zebra Shopping]$dotnet add Shopping.UI reference Shopping.Application
[zebra Shopping]$dotnet add Shopping.Application reference Shopping.Domain
[zebra Shopping]$dotnet add Shopping.Application reference Shopping.Infrastructure
[zebra Shopping]$dotnet add Shopping.Domain reference Shopping.Infrastructure
[zebra Shopping]$dotnet new sln -n Shopping
[zebra Shopping]$dotnet sln add Shopping.*
[zebra Shopping]$cd Shopping.Infrastructure/
[zebra Shopping.Infrastructure]$dotnet add package Pomelo.EntityFrameworkCore.MySql
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32133.html