在Linux系统上运行.net core程序

如果想要用docker运行.net core程序,可以参考https://blog.****.net/zxy13826134783/article/details/105922871

 

本文所使用的测试环境:

vistual studio 2019 

centos7

 

步骤:

1  安装vistual studio 2019,已安装的忽略,下载链接:https://visualstudio.microsoft.com/zh-hans/vs/

2  新建.net core 控制台程序,本文测试的项目名称为Test,默认会输出Hello world,按照默认生成即可

3  在centos7中的root用户中依次输入如下命令(参考https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7)

  命令1:  sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

  命令2(安装 .NET Core SDK):sudo yum install dotnet-sdk-3.1

  命令3(安装 ASP.NET Core 运行时):sudo yum install aspnetcore-runtime-3.1

  命令4(安装.net core运行时):sudo yum install dotnet-runtime-3.1

4 在centos7终端输入:dotnet --version测试是否安装成功,如下图:

在Linux系统上运行.net core程序

5 把项目生成中Debug目录下的文件上传到Linux中,利用工具secureCRT(免安装,64位和32位都有),该工具下载链接:

http://zxy15914507674.gitee.io/shared_resource_name/secureCRT绿色版.rar

找到对应的SecureFXPortable.exe,具体操作如下动图:

在Linux系统上运行.net core程序

 

6 上传后,可以使用dotnet命令运行对应的dll文件,如:dotnet  Test.dll,如上动图最后

 

 

 

2020年5月4日补充:

当部署web程序时,发现无法通过远程访问,原因有二:

1   asp.net core默认不允许通过ip来访问,这时需要在Program中增加如下图:

在Linux系统上运行.net core程序

 

2  防火墙是否设置对应的端口为开放:

如需要开放5000端口,输入命令如下:

查询5000端口是否开放:firewall-cmd --query-port=5000/tcp

当输入为no时,输入命令:firewall-cmd --permanent --add-port=5000/tcp    来开放端口

设置完毕后,重启防火墙:firewall-cmd --reload

参考:https://www.cnblogs.com/xxoome/p/7115614.html

当然,如果是阿里云服务器或者腾讯云服务器,还需要到对应的控制台设置对端口进行放行