加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何将.Net Core应用程序部署在Linux操作系统上运行

发布时间:2020-12-14 00:12:09 所属栏目:Linux 来源:网络整理
导读:.Net Core简介 跨平台:?可以在 Windows、macOS 和 Linux?操作系统上运行。 跨体系结构保持一致:?在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。 命令行工具:?包括可用于本地开发和持续集成方案中的易于使用的命令行工具。 部署灵活:?

.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-prodnenabled=1ngpgcheck=1ngpgkey=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用于获取指定贴吧中的所有图片

 1 using System;
 2 using System.IO;
 3 using System.Net;
 4 using System.Text.RegularExpressions;
 5 using System.Threading;
 6 
 7 namespace WebSpider
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             var l_strSaveDir = "imgs";
14             var l_strHostName = "http://tieba.baidu.com/";
15 
16             using (var l_webClient = new WebClient())
17             {
18                 l_webClient.BaseAddress = l_strHostName;
19 
20                 if (!Directory.Exists(l_strSaveDir))
21                     Directory.CreateDirectory(l_strSaveDir);
22 
23                 Console.WriteLine("正在加载网络资源...");
24 
25                 new Thread(() =>
26                 {
27                     var l_strHtml = l_webClient.DownloadString(l_strHostName + "f?kw=java");
28                     var l_strMtchImgPattern = "<img src="(S+)"";
29                     var l_mtchImgs = Regex.Matches(l_strHtml,l_strMtchImgPattern,RegexOptions.IgnoreCase);
30 
31                     var l_iImgCount = l_mtchImgs.Count;
32                     Console.WriteLine("资源加载完毕,正在下载");
33                     for (int i = 0; i < l_iImgCount; i++)
34                     {
35                         var l_strImgUrl = l_mtchImgs[i].Groups[1].Value;
36                         l_webClient.DownloadFile(l_strImgUrl,Path.Combine(l_strSaveDir,Guid.NewGuid()+"."+Path.GetExtension(l_strImgUrl)));
37                         Console.WriteLine(string.Format("正在下载({0}/{1})",(i + 1).ToString(),l_iImgCount.ToString()));
38                     }
39                     Console.WriteLine(string.Format("图片已全部下载完毕,保存地址{0}",l_strSaveDir));
40 
41                 }).Start();
42             }
43         }
44     }
45 }

  3、编译通过后右键解决方案选择发布

  4、选择文件夹点击发布

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

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

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

?

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

8、打开终端执行程序

9、执行结果

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读