c#实践录:.net core

本文介绍.net core的安装和使用。

下载

runtime下载:
https://dotnet.microsoft.com/download/dotnet-core/3.0/runtime

SDK下载:
https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-windows-x64-installer
(注:SDK包,包括了runtime包)

双击exe即可安装。略。

在命令行下输入dotnet,如有信息输出即为成功。示例:

1
2
C:\Users\Late Lee>dotnet --version
3.0.100

使用

可以在vs2015/vs2017等IDE中安装.net core插件(本文未验证)。

选项描述:

1
2
3
4
5
一般通用:
-o 指定输出目录
-lang 指定语言,默认C#
-c 配置,值为Release或Debug
-r 运行时库,如linux-x64或win-x64

创建工程或解决方案

命令行创建工程、库:

1
2
3
4
5
6
7
主命令:dotnet new xxx

dotnet new sln 创建解决方案工程 (创建的工程要用vs2017或以上打开)
dotnet new classlib 创建库
dotnet new console 创建控制台应用
dotnet new console -o myApp 创建控制台应用,指定目录为myApp
dotnet new xunit 创建测试单元

工程、包相关

1
2
3
4
5
6
7
8
9
dotnet sln add ./XXXX/XXXXX.csproj 将某个工程添加到解决方案中

dotnet add AAA reference myLib/BBB.csproj 在工程A添加BBB工程引用
dotnet add reference myLib/BBB.csproj 在某个工程当前目录中添加对另一个工程的引用
dotnet add reference lib1/lib1.csproj lib2/lib2.csproj 同上,同时添加多个工程引用
dotnet add AAA package Newtonsoft.Json 在工程A添加Newtonsoft.Json包
dotnet list AAA package // 列出AAA工程有哪些包
dotnet remove AAA package - 从AAA工程中删除包引用。
// TODO:添加文件?

注:建议在工程目录内执行dotnet命令,这样不用指定工程目录名称。

编译运行

1
2
3
dotnet build  // 编译
dotnet run // 运行,默认当前目录
dotnet run -p myApp // 指定运行的工程目录

注:默认编译工程目录所有cs文件。

发布

在工程目录执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 发布Release配置,包括 .net core 运行时,分别发布到 linux 和 windows
dotnet publish -c Release --self-contained -r linux-x64
dotnet publish -c Release --self-contained -r win-x64

# 发布Release配置,包括 .net core 运行时,指定目标框架 netcoreapp2.2
dotnet publish -c Release -f netcoreapp2.2 --self-contained -r linux-x64
dotnet publish -c Release -f netcoreapp2.2 --self-contained -r win-x64

# 发布Release配置,不包括 .net core 运行时
dotnet publish -c Release --self-contained false -r linux-x64
dotnet publish -c Release --self-contained false -r win-x64

# 发布Release配置,不包括 .net core 运行时,指定输出目录
dotnet publish -c Release --self-contained false -r linux-x64 -o C:\Here\Spany\publish\linux-x64
dotnet publish -c Release --self-contained false -r win-x64 -o C:\Here\Spany\publish\win-x64

!!!待解决事宜:
命令行如何添加文件、引用、dll(是否改配置文件) (如果是cs文件,默认编译)
如何编译得release版本。

实例

1
2
3
4
5
6
7
8
9
10
11
mkdir DotNetCoreSLN 创建工程目录
cd DotNetCoreSLN
dotnet new sln // 创建解决方案
dotnet new console -o myApp // 创建控制台应用
dotnet new classlib -o myLib // 创建库
dotnet sln add myApp/myApp.csproj // 添加应用到解决方案
dotnet add myApp reference myLib/myLib.csproj // 添加库到工程
dotnet run -p myApp // 运行工程

// 其它
dotnet add package log4net // 添加log4net包

注:如果有vs2017以上,打开sln可能会好些,如无,直接用csproj添加引用即可。

VSCode

在VS Code安装插件:

1
2
3
4
C#
C# Extensions
.NET Core Test Explorervs
vscode-solution-explorer // 将dotnet一些命令封装为导航方式使用

添加vscode-solution-explorer后,可以在VS Code中创建工程、添加引用等等。
体验不如命令行快捷,故舍弃。

Linux系统的安装和使用

待写