.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. bzoj3631: [JLOI2014]松鼠的新家(树上差分)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3631 题目大意:给定含有n个顶点的树,给定走遍整棵树顺序的序列a[1],a[2],a[3 ...

  2. ubuntu16.04下docker安装和简单使用(转)

    ubuntu16.04下docker安装和简单使用   转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...

  3. 基于python3环境下搭建Robot Framework 自动化测试框架(一)

    大家都知道,Robot Framework 是基于python2 环境 的一套自动化测试工具,据说python 2 到2020年不维护,现在用python 3 的环境搭建Robot Framework ...

  4. CCF201412-2 Z字形扫描 java(100分)

    试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag ...

  5. 同一个项目的同一DLL多版本的兼容问题

    在做REST接口时,想要引入swagger,引入了最新的Swashbuckle.Net45-5.2.1版本,可是这个版本关联两个DLL(System.Web.Http.System.Net.Http. ...

  6. Vue 基于node npm & vue-cli & element UI创建vue单页应用

    基于node npm & vue-cli & element UI创建vue单页应用 开发环境   Win 10   node-v10.15.3-x64.msi 下载地址: https ...

  7. #1126-JSP客户端请求

    JSP 客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的.您可以查阅HTTP协议来获得更多的信息. 下表列出了浏览器 ...

  8. Xyjj’s sequence

    Xyjj’s sequence #include<iostream> #include<cstdio> #include<cstring> #include< ...

  9. open 函数处理文件

    open函数用于文件处理 操作文件时,一般需要经历如下步骤:1 打开文件    2  操作文件 f =  open("文件名"     ,  '  打开文件方式'  ) 文件句柄 ...

  10. Python 元组遍历排序操作方法

    在Python不可变数据类型中,有一个比较重要的角色那就是元组( tuple ).如果某个对像被定义为元组类型,那么就意味着它的值不能被修改,除非重新定义一个新的对像.元组和List列表常被放在一起进 ...