.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 支持提供支持。

  点我详细了解.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操作系统上运行的更多相关文章

  1. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

    使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...

  2. VisualStudioCode创建的asp.net core控制台程序部署到linux

    1.asp.net core控制台程序 static void Main(string[] args) { ; ) { Console.WriteLine("Hello World!&quo ...

  3. .net core 部署在Linux系统上运行的环境搭建总结

    安装Linux用的是腾讯云的centos7.5,需要安装有环境有mysql5.7  .netcore2.1 nginx1.14 1.首先是mysql的安装 我用的链接工具是putty,首先root登入 ...

  4. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  5. Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署

    运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...

  6. ASP.NET Core教程:ASP.NET Core程序部署到Linux

    一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...

  7. springboot 定时任务部署至linux服务器上后会执行两次问题

    springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...

  8. ireport部署到Linux服务器上遇到的问题解决

    ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...

  9. Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...

随机推荐

  1. Linux服务器安装系统之1-LSI阵列卡raid5配置方法

  2. IP电话的配置

    内容描述:IP电话配置 问题描述: IP电话站点为8203,IP地址为10.11.6.3,电话状态为空心(不正常). 处理过程: 1.在浏览器中打开输入原先已经配置正常的IP话机的IP地址访问其配置, ...

  3. PCA 主成分分析

    链接1 链接2(原文地址) PCA的数学原理(转) PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表 ...

  4. Ubuntu Text editor文本编辑器相关设置

    刚开始不熟悉Ubuntu,设置个文本编辑界面都难找到: 打开后在顶上的导航栏,下拉框内有preferences: 里面可以设置视图.字体颜色等

  5. 前端每日实战:16# 视频演示如何用纯 CSS 创作一个渐变色动画边框

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/odpRKX 可交互视频教程 此视频 ...

  6. MySQL简版(二)

    第一章 表的约束 1.1 概念 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 1.2 分类 主键约束:primary key. 非空约束:not null. 唯一约束:unique. 外键 ...

  7. oracle中用case when查询列表

    查询sql语句如下 SELECT * FROM ( SELECT * ,ROW_NUMBER() OVER ( PARTITION BY scene_code ORDER BY (CASE statu ...

  8. maven打包的时候you are running on a JRE rather than a JDK?

    解决方案.删除掉,然后重新添加. 然后remove掉 然后Add  Library

  9. A - Race to 1 Again

    题目 Rimi learned a new thing about integers, which is - any positive integer greater than 1 can be di ...

  10. 20180829-Java多线程编程

    Java 多线程编程 Java给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分. 程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特 ...