.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用於獲取指定貼吧中的所有圖片
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上已經執行成功