日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

拥抱.NET Core,学习.NET Core的基础知识补遗

發布時間:2023/12/4 asp.net 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拥抱.NET Core,学习.NET Core的基础知识补遗 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

.NET Core的新特性之一就是跨平臺,但由于對之前框架的兼容導致編寫一個.NET Core類庫變得相當復雜,主要體現為相當多的框架目標和支持平臺,今天我們就對.NET Core的跨平臺特性進行一次梳理。


在.NET Core之前

其實早在.NET Core之前微軟就有推出.NET的跨平臺方案,不過這次的跨平臺指的不是Linux、OSX,而是微軟自家的平臺,如:NET、Silverlight、Windows8、Windows8.1、Windows Phone。

這個階段微軟將它稱作為:可移植類庫

下面是可移植類庫的配置界面

在這個階段.NET開發就出現了分歧,類庫項目也分成了兩個:類庫、可移植類庫。

從理論上來說,可移植類庫由于類庫,因為它是真正意義上的統一類庫,但現實情況是大部分開發人員都選擇使用類庫而不是可移植類庫。

然而困難從此就開始生根(如果微軟之前統一了這兩個項目現在的情況或許會好很多)。


在.NET Core起步

第一階段(Project K)

KRE(K Runtime Environment)

KVM(K Version Manager)

KPM(K Package Manager)

K / KLR(K runtime / K language runtime (not sure))

這個階段到還好,很多東西剛接觸.NET Core的人可能根本沒有聽過,因為早早的被廢棄,所以影響不是很大。

第二階段(DNX)

DNX451

DNXCORE50

到這個階段微軟和一些第三方已經開始著手進行支持了。

第三階段(DOTNET5.0)

dotnet5.4

dotnet50

暢言

由此可以看到微軟改名部的強大。這里不是在摒棄開發團隊,而是這些動作為之后留下了復雜知識體系。

因為這個階段.NET Core已經發展了很長時間,也有很多第三方開始編寫支持的組件,為以后的兼容留下了隱患。


.NET Core 1.0

在這個版本微軟真正確定了.NET Core(netcoreapp)的命名,并推出了.NET Platform Standard(netstandard .NET標準)。

.NET Core兼容.NET Platform Standard1.6(netstandard .16)。

從此統一了開發模型,開發類庫時不在需要關心項目模型,因為.NET Core支持全平臺。

但為了兼容,Visual Studio還是保留了類庫、可移植類庫的項目模板。但推薦大家以后都使用.NET Core的類庫項目模版進行組件開發。


.NET平臺

官方給出了一張表

目前一起有9個平臺,其中 Windows Phone、Silverlight停止更新就還剩下7個平臺。

.NET Platform Standard

為什么推出?

現有的平臺已經夠多了,為什么還再推出一個新平臺?

目標

  • 提供更好的可移植性在未來的.NET版本中

  • 更容易理解平臺版本

  • 簡單的說就是,微軟覺得.NET平臺太多了,想進行統一從而推出了netstandard。

    大家可以將netstandard理解為一個公共類庫,不同的平臺可以兼容這個公共類庫。

    兼容關系

    netstandard的兼容

    在以前的.NET Framework中API幾乎都是向下兼容的,也就是說.NET3.5兼容.NET2.0、.NET4兼容.NET3.5,具體的層次如下:

    2.x < 3.x < 4.x

    netstandard也是一樣。

    1.0 < 1.1 < 1.2 < 1.3 < 1.4 < 1.5 < 1.6

    平臺之間的兼容

    對照上表netstandard支持的最低.net framework版本是4.5,也就是說.net4.5 支持netstandard1.1和以后的版本。

    舉個例子(按照這個例子可以清楚的看懂上表的關系)

    如果你開發的類庫配置為netstandard1.3,那么可以使用的平臺有:

  • .NET Framework4.6及以后的版本(4.6,4.6.1,4.6.2,4.6.3)

  • .NET Core 1.0及以后的版本

  • Universal Windows Platform 10.0及以后的版本

  • Mono/Xamarin Platforms


  • 開發環境

    Visual Studio(推薦使用)

    • Visual Studio 2015 Update 3

    • .NET Core 1.0.0 - VS 2015 Tooling Preview 2

    ps:如果已經安裝了 vs2015 update3 在安裝.NET Core 1.0.0 - VS 2015 Tooling Preview 2時還是提示沒有安裝update3,可以使用“SKIP_VSU_CHECK=1”這個參數忽略vs的檢查。

    在命令行使用:“DotNetCore.1.0.0-VS2015Tools.Preview2.exe SKIP_VSU_CHECK=1”進行安裝。

    Visual Studio Code

    • Visual Studio Code

    • .NET Core SDK

    參考資料

    https://www.microsoft.com/net/core


    FAQ

    支持.NET4之前的版本嗎?

    支持,只不過.NET4之前的版本沒有對.NET Platform Standard進行兼容,可以單獨設置兼容.NET4,.NET3.5等。

    使用.NET Core就一定可以跨平臺嗎?

    不一定,只有完全使用兼容.NET Platform Standard的類庫才可以跨平臺運行。

    包還原失敗怎么辦?

    包還原失敗一般有兩種情況。

    1.依賴的版本不對,比如框架目標為.netstandard1.6,依賴的包只支持.net45這樣包就無法解析。

    2.網絡問題,重試或FQ。

    如何在舊項目上使用.NET Core相關的組件,如:依賴注入,日志?

    使用.net4.6,可以兼容很大部分現代化組件。.net版本越高兼容的就越多。


    寫在最后

    這篇博文的主題本應該叫:擁抱.NET Core,開發第一個跨平臺類庫(DbUtils),后面又改成:擁抱.NET Core,開發第一個跨平臺類庫(1),而在撰寫過程中發現內容實在太多了,顧拆成了多個部分,今天先講一些基礎概念,后面在寫如何開發一個跨平臺類庫。

    相關文章:

    • .NET Core & ASP.NET Core 1.0在Redhat峰會上正式發布

    • .NET Core:面向未來的開源跨平臺開發技術

    • 微軟說它深愛著Linux,現在它用行動證明了

    • 移植.NET Core計劃,整合各平臺變得更簡單了!

    • ASP.NET Core 介紹

    • 通過幾個Hello World感受.NET Core全新的開發體驗

    • ASP.NET Core 運行原理剖析1:初始化WebApp模版并運行

    • .NET Core系列 : 1、.NET Core 環境搭建和命令行CLI入門

    • .NET Core系列 : 2 、project.json 這葫蘆里賣的什么藥

    • Asp.Net Core 發布和部署( MacOS + Linux + Nginx )

    • Asp.Net Core 發布和部署(Linux + Jexus )

    • 學習ASP.NET Core,你必須了解無處不在的“依賴注入”

    • .NET Core應用類型(Portable apps & Self-contained apps)

    • .NET Core 1.0發布:微軟開源跨平臺大布局序幕

    • ASP.NET Core 運行原理剖析2:Startup 和 Middleware(中間件)

    • 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序

    • ASP.NET Core 開發-Entity Framework (EF) Core 1.0 Database First

    • 擁抱.NET Core,跨平臺的輕量級RPC:Rabbit.Rpc

    • 使用 dotnet watch 開發 ASP.NET Core 應用程序

    • ASP.NET Core 發布至Linux生產環境 Ubuntu 系統

    • ASP.NET Core Docker部署

    • ASP.NET Core "完整發布,自帶運行時" 到jexus

    • 全球首發免費的MySql for Entity Framework Core

    • ASP.NET Core開發-使用Nancy框架

    • .NET Core全新路線圖

    • 解決.NET Core中MailKit無法使用阿里云郵件推送服務的問題

    • .NET Core第三方開源Web框架YOYOFx

    • ubuntu16.4下用jexus部署asp.net core rtm

    原文地址:http://www.cnblogs.com/ants/p/5736787.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的拥抱.NET Core,学习.NET Core的基础知识补遗的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。