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 請求管道。
- 能夠在 IIS、Nginx、Apache、Docker 上進行托管或在自己的進程中進行自托管。
- 定目標到 .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/
以上內容有任何錯誤或不准確的地方請大家指正,不喜勿噴!
本文版權歸作者和博客園共有,歡迎轉載。
但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
希望能夠持續的為大家帶來好的技術文章!想跟我一起進步么?那就【關注】我吧。