之前在开发一个环境监测系统的时候有用.net Framework框架做了一个服务器侦听程序,后来因为需要把程序移植到Linux操作系统上去运行,因为.NET Framework框架并不支持Linux操作系统,所以就把程序重新做成了基于.NET Core框架的控制台程序,然后再移植到Linux操作系统上去运行。

.NET core的基础知识

.NET Core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台 [1] ,它经常也会拿来和现有的开源 .NET 平台 Mono 比较。

我使用的c#开发工具是VS studio 2019版本
.NET Core框架版本是3.1
Linux操作系统是ubuntu 18.04

具体的移植步骤
1、创建一个.net core的控制台程序HelloLinux,不用填写代码,会默认输出HelloWorld

2、检查自己的linux系统上有没有.NET Core的环境

在终端输入以下命令	
dotnet --list-sdks
检查自己的SDK版本
dotnet --list-runtimes
检查运行时版本

如下图所示,我电脑上已经安装过了,没装的话是没有的

netcore 项目 centOS7部署教程_Core

3、在ubuntu上面安装,NET Core的SDK和运行时环境
全部以命令的形式安装

安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

sudo dpkg -i packages-microsoft-prod.deb

安装SDK
sudo apt-get update; \
	sudo apt-get install -y apt-transport-https && \
	sudo apt-get update && \
	sudo apt-get install -y dotnet-sdk-3.1

安装运行时环境
sudo apt-get update; \
	sudo apt-get install -y apt-transport-https && \
	sudo apt-get update && \
	sudo apt-get install -y aspnetcore-runtime-3.1

4、上述操作完成之后就可以查看安装的内容了,重复第二步即可查看到已安装的版本,可以看到版本就说明安装成功

5、将自己最开始创建的程序的bin目录内容复制到linux系统上的任何位置都可

netcore 项目 centOS7部署教程_c#_02

打开命令行终端

使用cd命令跳转到bin目录下,再进入/bin/Debug/netcoreapp3.1下,输入dotnet HelloWorld.dll程序即可运行,如下图所示

netcore 项目 centOS7部署教程_.net_03

到这里,程序就算是移植成功了。我这里以ubuntu 18.04为例,如果需要安装其他linux 操作系统的环境,可以查看微软的官网,对每个发行版linux操作系统都有详细的教程,不过微软官方给的是.NET Core5.0的安装

,根据自己的.NET Core版本进行修改就行,如下图。根据自己的版本修改红色圈出的部分。

netcore 项目 centOS7部署教程_linux_04