程序"/>
在 Linux(Ubuntu 18)下运行 .NET 6 程序
1 简介
从.Net core 开始,微软就实现了.Net的跨平台能力。在本文中,笔者使用Ubuntu 18.04.6 LTS上运行一个测试项目,以演示Linux下.Net6.0 的编译方法。
2 配置.NET6 环境
可以参见 在Ubuntu18.04上运行.NET 5.0 之 Hello World。关于版本号不一样的问题,只需将SDK5.0的安装命令修改成6.0, 即 sudo apt-get install dotnet-sdk-5.0
修改为 sudo apt-get install dotnet-sdk-6.0
即可。
3 拉回项目
在Linux环境中,将远程Git项目拉回,本示例中使用测试 .git
仓库,拉回到 /home/hao
目录下。
root@server00:~# cd /home/hao/
root@server00:/home/hao/# git clone .git
Cloning into 'aqdas-convert-for-linux'...
remote: Enumerating objects: 105, done.
remote: Counting objects: 100% (105/105), done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 105 (delta 58), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (105/105), 9.58 MiB | 1.85 MiB/s, done.
Resolving deltas: 100% (58/58), done.
root@server00:/home/hao/temp#
4 编译项目
有了项目的源代码后,只需使用 .Net6.0 SDK 的命令 dotnet
进行发布即可,具体如下所示。
4.1 进入项目目录
首先,进入项目所在目录。
root@server00:~# cd /home/hao/aqdas-convert-for-linux/
4.2 使用 git pull
更新代码(可选)
这步是可选,用于更新代码。
root@server00:/home/hao/aqdas-convert-for-linux# git pull
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 6), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (8/8), done.
From ..dca4d93 master -> origin/master
Updating 1d67430..dca4d93
Fast-forwardDataConverter/NPOIDemo.cs | 4 +++-DataConverter/Program.cs | 1 +2 files changed, 4 insertions(+), 1 deletion(-)
4.3 生成并发布代码
使用 dotnet publish project_dir
命令对工程目录进行编译并发布,其中 project_dir
是项目所在的路径,在本示例中为 DataConverter
,具体如下所示:
root@server00:/home/hao/aqdas-convert-for-linux# dotnet publish DataConverter/
Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.Determining projects to restore...All projects are up-to-date for restore.DataConverter -> /home/hao/aqdas-convert-for-linux/DataConverter/output/Debug/net6.0/DataConverter.dllDataConverter -> /home/hao/aqdas-convert-for-linux/DataConverter/output/Debug/net6.0/publish/
发布完成以后,可以看到生成的路径信息,在本示例中生成的内容在 DataConverter -> /home/hao/aqdas-convert-for-linux/DataConverter/output/Debug/net6.0/publish/
目录中。
5 运行代码
默认的生成的可执行程序的名称与工程目录名称一致。在本示例中,名称为 DataConverter
,通过路径+DataConverter即可访问,如果当前目录与 DataConverter
相同,则通过 ./DataConverter
启动程序。
root@server00:/home/hao/aqdas-convert-for-linux# DataConverter/output/Debug/net6.0/publish/DataConverter
path = /home/hao/aqdas-convert-for-linux/DataConverter/output/Debug/net6.0/publish/
pyfile = /home/hao/aqdas-convert-for-linux/DataConverter/output/Debug/net6.0/publish/hello.py
Test1: No argument.
Test2: One argument: Jack
root@server00:/home/hao/aqdas-convert-for-linux#
6 小结
微软出品还是可靠的,配置安装相对比较容易,只要按以上几步即可实现下载、编译和配置。由于都是使用命令行完成,所以可以汇总在一起,以shell脚本的形式实现自动化的安装部署。
更多推荐
在 Linux(Ubuntu 18)下运行 .NET 6 程序
发布评论