如何将.Net Core应用程序部署在Linux操作系统上运行
.Net Core简介
- 跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。
- 跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。
- 命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
- 部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配 Docker 容器使用。
- 兼容性: .NET Core 通过 .NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。
- 开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目。
- 由 Microsoft 支持: .NET Core 由 Microsoft 依据 .NET Core 支持提供支持。
环境说明
开发环境 :Win10 > Visual Studio 2019 > .Net Core 2.1
运行环境:Linux > CentOS 7
演示Demo:使用.Net Core 开发一个网络爬虫工具,将指定网址的所有图片下载到本地
在CentOS上部署.Net Core运行时环境
1、打开CentOS 通过root登入系统
2、右键打开终端

3、注册Microsoft签名密钥,然后添加Microsoft产品Feed。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
4、更新可用于安装的产品列表,安装.NET Core所需的组件,然后安装.NET Core 运行时环境。
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1
后续更新提示,确认(y)即可

5、安装完毕后我们可以通过“dotnet --version”命令来测试是否安装成功(结果如图安装成功)

创建.Net Core应用程序
1、选择.Net Core控制台程序

2、写一个demo用于获取指定贴吧中的所有图片
using System;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
using System.Threading; namespace WebSpider
{
class Program
{
static void Main(string[] args)
{
var l_strSaveDir = "imgs";
var l_strHostName = "http://tieba.baidu.com/"; using (var l_webClient = new WebClient())
{
l_webClient.BaseAddress = l_strHostName; if (!Directory.Exists(l_strSaveDir))
Directory.CreateDirectory(l_strSaveDir); Console.WriteLine("正在加载网络资源..."); new Thread(() =>
{
var l_strHtml = l_webClient.DownloadString(l_strHostName + "f?kw=java");
var l_strMtchImgPattern = "<img src=\"(\\S+)\"";
var l_mtchImgs = Regex.Matches(l_strHtml, l_strMtchImgPattern, RegexOptions.IgnoreCase); var l_iImgCount = l_mtchImgs.Count;
Console.WriteLine("资源加载完毕,正在下载");
for (int i = ; i < l_iImgCount; i++)
{
var l_strImgUrl = l_mtchImgs[i].Groups[].Value;
l_webClient.DownloadFile(l_strImgUrl, Path.Combine(l_strSaveDir,Guid.NewGuid()+"."+Path.GetExtension(l_strImgUrl)));
Console.WriteLine(string.Format("正在下载({0}/{1})", (i + ).ToString(), l_iImgCount.ToString()));
}
Console.WriteLine(string.Format("图片已全部下载完毕,保存地址{0}",l_strSaveDir)); }).Start();
}
}
}
}
3、编译通过后右键解决方案选择发布

4、选择文件夹点击发布

5、进入发布目录复制编译好的执行文件

6、进入CentOS创建一个目录用于存放编译好的执行文件

6.1 由于我的CentOS是装在本地的虚拟机上面,所以为了方便将编译好的文件复制到CentOS上面。需要进行以下设置


7、将之前编译复制好的执行程序直接粘贴到虚拟机CentOS里创建好的目录下

8、打开终端执行程序

9、执行结果

10、由图可知,我们的.Net Core应用程序在Linux上已经执行成功

如何将.Net Core应用程序部署在Linux操作系统上运行的更多相关文章
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- VisualStudioCode创建的asp.net core控制台程序部署到linux
1.asp.net core控制台程序 static void Main(string[] args) { ; ) { Console.WriteLine("Hello World!&quo ...
- .net core 部署在Linux系统上运行的环境搭建总结
安装Linux用的是腾讯云的centos7.5,需要安装有环境有mysql5.7 .netcore2.1 nginx1.14 1.首先是mysql的安装 我用的链接工具是putty,首先root登入 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
- ASP.NET Core教程:ASP.NET Core程序部署到Linux
一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...
- springboot 定时任务部署至linux服务器上后会执行两次问题
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...
- ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...
- Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项
PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...
随机推荐
- Linux服务器安装系统之1-LSI阵列卡raid5配置方法
- IP电话的配置
内容描述:IP电话配置 问题描述: IP电话站点为8203,IP地址为10.11.6.3,电话状态为空心(不正常). 处理过程: 1.在浏览器中打开输入原先已经配置正常的IP话机的IP地址访问其配置, ...
- PCA 主成分分析
链接1 链接2(原文地址) PCA的数学原理(转) PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表 ...
- Ubuntu Text editor文本编辑器相关设置
刚开始不熟悉Ubuntu,设置个文本编辑界面都难找到: 打开后在顶上的导航栏,下拉框内有preferences: 里面可以设置视图.字体颜色等
- 前端每日实战:16# 视频演示如何用纯 CSS 创作一个渐变色动画边框
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/odpRKX 可交互视频教程 此视频 ...
- MySQL简版(二)
第一章 表的约束 1.1 概念 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 1.2 分类 主键约束:primary key. 非空约束:not null. 唯一约束:unique. 外键 ...
- oracle中用case when查询列表
查询sql语句如下 SELECT * FROM ( SELECT * ,ROW_NUMBER() OVER ( PARTITION BY scene_code ORDER BY (CASE statu ...
- maven打包的时候you are running on a JRE rather than a JDK?
解决方案.删除掉,然后重新添加. 然后remove掉 然后Add Library
- A - Race to 1 Again
题目 Rimi learned a new thing about integers, which is - any positive integer greater than 1 can be di ...
- 20180829-Java多线程编程
Java 多线程编程 Java给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分. 程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特 ...