【C#】Net Core和Net Framework 的區別


 

 

 1、簡單介紹

 

從上面圖中我們可以看到.net  主要分為三個部分 .net FrameWork,.net Core ,Xamarin

  • XAMARIN  主要用來構建APP的主要用的是C#語言
  • .NET Framework  這個是我們現在經常用的,用這個可以創建windows應用程序還有web applications ,
  •                              現在你可以用它創建Winform ,UWP ,wpf 等相關的應用程序 ,web 方面就是Asp.net MVC webfrom,2002年發布
  • .NET Core   是微軟推出的最新的開源的,跨平台的框架,用它可以創建的應用可以運行在MAC,Linux上 ,2016年6月27日

 

 

2、對比叫介紹,差異

微軟爸爸介紹:https://docs.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-2.2

 

NET Core和.net framwork 各有優缺點,兩者都不能取代對方,一下摘取自微軟文檔

ASP.NET Core 具有如下優點:

  • 生成 Web UI 和 Web API 的統一場景。
  • 針對可測試性進行構建。
  • Razor Pages 可以使基於頁面的編碼方式更簡單高效。
  • 能夠在 Windows、macOS 和 Linux 上進行開發和運行。
  • 開放源代碼和以社區為中心
  • 集成新式客戶端框架和開發工作流。
  • 基於環境的雲就緒配置系統
  • 內置依賴項注入
  • 輕型的高性能模塊化 HTTP 請求管道。
  • 能夠在 IISNginxApacheDocker 上進行托管或在自己的進程中進行自托管。
  • 定目標到 .NET Core 時,可以使用並行應用版本控制。
  • 簡化新式 Web 開發的工具。 

面向 .NET Framework 的 ASP.NET Core

ASP.NET Core 2.x 可以面向 .NET Core 或 .NET Framework。 面向 .NET Framework 的 ASP.NET Core 應用無法跨平台,它們僅在 Windows 上運行。 通常,ASP.NET Core 2.x 由 .NET Standard 庫組成。 使用 .NET Standard 2.0 編寫的應用可在 NET Standard 2.0 支持的任何位置運行。

 

與 .NET Standard 2.0 兼容的 .NET Framework 版本支持 ASP.NET Core 2.x:

  • 強烈建議使用 .NET Framework 4.7.1 及更高版本。
  • .NET Framework 4.6.1 及更高版本。

ASP.NET Core 3.0 以及更高版本只能在 .NET Core 中運行。 有關此更改的詳細信息,請參閱 A first look at changes coming in ASP.NET Core 3.0(搶先了解 ASP.NET Core 3.0 即將推出的更改)。

 

面向 .NET Core 有以下幾個優勢,並且這些優勢會隨着每次發布增加。 與 .NET Framework 相比,.NET Core 的部分優勢包括:

  • 跨平台。 在 macOS、Linux 和 Windows 上運行。
  • 增強的性能
  • 並行版本控制
  • 新 API
  • 開源 

我們正努力縮小 .NET Framework 與 .NET Core 的 API 差距。 Windows 兼容性包使數千個僅可在Windows運行的API 可在 .NET Core 中使用。 這些 API 在 .NET Core 1.x 中不可用。

 在以下情況,對服務器應用程序使用 .NET Core:

 

  • 用戶有跨平台需求。
  • 用戶正在面向微服務。
  • 用戶正在使用 Docker 容器。
  • 需要高性能和可擴展的系統。
  • 需按應用程序提供並行的 .NET 版本。

 

在以下情況,對服務器應用程序使用 .NET Framework :

 

  • 應用當前使用 .NET Framework(建議擴展而不是遷移)。
  • 應用使用不可用於 .NET Core 的第三方 .NET 庫或 NuGet 包。
  • 應用使用不可用於 .NET Core 的 .NET 技術。
  • 應用使用不支持 .NET Core 的平台。

 

最大的區別就是Net Core和Net Framework 再部署IIS是不同的,

Net Framework 選擇對應的應用程序版本

Net Core不需要選擇,並且必須發布之后才可以。

【1】、必須設置 模塊

反正你看不到 AspNetCoreModule 這個玩意的話, 運行肯定就是有問題的。

 

 

 

 【2】必須選擇托管,Net Core不需要Net Framework

應用程序池必須配置為“無托管代碼”

 

【3】發布、部署

 

 

 

 

 

 

 

 

 

容器化未來是一種趨勢,選擇跨平台的。net core是一種趨勢,現在可以入坑了。不過大神,此段話為自己備注打氣,萌新不敢大聲說話。

 

 

3、性能比較

 

性能做夠了,處理能來同步更好更強

 

https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=db

 

4、總結

 

1、跨平台用.net core 不想升級用.net framwork 

2、能用就行,畢竟現在還有大部分用 .net framwork 2.0的

 

 

相關文章:

 

【參考】簡析.NET Core 以及與 .NET Framework的關系http://www.cnblogs.com/vipyoumay/p/5603928.html

【推薦】How to Deploy ASP.NET Core to IIS & How ASP.NET Core Hosting Works:https://stackify.com/how-to-deploy-asp-net-core-to-iis/

【推薦】ASP.NET Core Web API – IIS Deployment:https://code-maze.com/net-core-web-development-part16/

 

以上內容有任何錯誤或不准確的地方請大家指正,不喜勿噴!

本文版權歸作者和博客園共有,歡迎轉載。

但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

希望能夠持續的為大家帶來好的技術文章!想跟我一起進步么?那就【關注】我吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM